From 54a8661262d033b4a4d9273f56cad7da086e4e6e Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Aug 2021 13:28:03 +0200 Subject: [PATCH 01/25] fixed sec issue libs --- package-lock.json | 46097 ++++++++------------------------------------ package.json | 2 +- 2 files changed, 8555 insertions(+), 37544 deletions(-) diff --git a/package-lock.json b/package-lock.json index 63406f540cb..1bb98259025 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,104 +1,16 @@ { "name": "web3.js", - "lockfileVersion": 2, "requires": true, - "packages": { - "": { - "license": "LGPL-3.0", - "dependencies": { - "@chainsafe/lodestar-types": "^0.13.0", - "@ethereumjs/common": "^2.3.0", - "@ethereumjs/tx": "^3.2.1", - "@ethersproject/abi": "5.0.7", - "@ethersproject/transactions": "^5.0.0-beta.135", - "@types/jest": "^26.0.14", - "axios": "^0.21.1", - "babel-jest": "^26.6.3", - "content-hash": "^2.5.2", - "crypto-browserify": "3.12.0", - "dtslint": "^3.4.1", - "eth-ens-namehash": "2.0.8", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.0.10", - "ethjs-unit": "0.1.6", - "eventemitter3": "4.0.4", - "got": "9.6.0", - "jest": "^26.5.3", - "number-to-bn": "1.7.0", - "oboe": "2.1.5", - "randombytes": "^2.1.0", - "scrypt-js": "^3.0.1", - "swarm-js": "^0.1.40", - "ts-jest": "^26.4.4", - "utf8": "3.0.0", - "util": "^0.12.0", - "uuid": "3.3.2", - "websocket": "^1.0.32", - "xhr2-cookies": "1.1.0" - }, - "devDependencies": { - "@babel/cli": "^7.12.1", - "@babel/core": "^7.12.3", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-typescript": "^7.12.1", - "@babel/runtime": "^7.12.1", - "@chainsafe/geth-dev-assistant": "^0.1.10", - "@ensdomains/ens": "^0.6.0", - "@ensdomains/resolver": "^0.2.4", - "@types/bignumber.js": "^4.0.2", - "@types/bn.js": "^4.11.6", - "@types/node": "^12.12.68", - "babel-loader": "^8.1.0", - "bignumber.js": "^9.0.1", - "bn.js": "^4.11.9", - "browserify": "^16.5.2", - "buffer": "^4.9.2", - "bundlesize": "^0.18.0", - "chai": "^4.2.0", - "clean-webpack-plugin": "^3.0.0", - "core-js": "^3.6.5", - "crypto-js": "^3.3.0", - "decache": "^4.6.0", - "dependency-check": "^4.1.0", - "ethers": "^5.1.4", - "ganache-cli": "^6.12.0", - "jshint": "^2.12.0", - "karma": "^5.2.3", - "karma-browserify": "^7.0.0", - "karma-chrome-launcher": "^3.1.0", - "karma-firefox-launcher": "^1.3.0", - "karma-mocha": "^2.0.1", - "karma-spec-reporter": "0.0.32", - "lerna": "^3.22.1", - "mocha": "^6.2.3", - "nyc": "^14.1.1", - "pify": "^4.0.1", - "sandboxed-module": "^2.0.4", - "ts-node": "^9.0.0", - "typescript": "^3.9.7", - "wait-port": "^0.2.9", - "webpack": "^4.44.2", - "webpack-cli": "^3.3.12" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@assemblyscript/loader": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.9.4.tgz", - "integrity": "sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==" - }, - "node_modules/@babel/cli": { + "lockfileVersion": 1, + "dependencies": { + "@babel/cli": { "version": "7.13.16", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.16.tgz", "integrity": "sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==", "dev": true, - "dependencies": { + "requires": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", + "chokidar": "^3.4.0", "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", @@ -106,37 +18,29 @@ "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" - }, - "bin": { - "babel": "bin/babel.js", - "babel-external-helpers": "bin/babel-external-helpers.js" - }, - "optionalDependencies": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", - "chokidar": "^3.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/code-frame": { + "@babel/code-frame": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dependencies": { + "dev": true, + "requires": { "@babel/highlight": "^7.12.13" } }, - "node_modules/@babel/compat-data": { + "@babel/compat-data": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==" + "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", + "dev": true }, - "node_modules/@babel/core": { + "@babel/core": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.2.tgz", "integrity": "sha512-OgC1mON+l4U4B4wiohJlQNUU3H73mpTyYY3j/c8U9dr9UagGGSm+WFpzjy/YLdoyjiG++c1kIDgxCo/mLwQJeQ==", - "dependencies": { + "dev": true, + "requires": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.2", "@babel/helper-compilation-targets": "^7.13.16", @@ -153,130 +57,110 @@ "semver": "^6.3.0", "source-map": "^0.5.0" }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { + "@babel/generator": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.2.tgz", "integrity": "sha512-OnADYbKrffDVai5qcpkMxQ7caomHOoEwjkouqnN2QhydAjowFAZcsdecFIRUBdb+ZcruwYE4ythYmF1UBZU5xQ==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.14.2", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { + "@babel/helper-annotate-as-pure": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.12.13" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-explode-assignable-expression": "^7.12.13", "@babel/types": "^7.12.13" } }, - "node_modules/@babel/helper-compilation-targets": { + "@babel/helper-compilation-targets": { "version": "7.13.16", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", - "dependencies": { + "dev": true, + "requires": { "@babel/compat-data": "^7.13.15", "@babel/helper-validator-option": "^7.12.17", "browserslist": "^4.14.5", "semver": "^6.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@babel/helper-create-class-features-plugin": { + "@babel/helper-create-class-features-plugin": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.2.tgz", "integrity": "sha512-6YctwVsmlkchxfGUogvVrrhzyD3grFJyluj5JgDlQrwfMLJSt5tdAzFZfPf4H2Xoi5YLcQ6BxfJlaOBHuctyIw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.14.2", "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { + "@babel/helper-create-regexp-features-plugin": { "version": "7.12.17", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider": { + "@babel/helper-define-polyfill-provider": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", @@ -286,100 +170,93 @@ "resolve": "^1.14.2", "semver": "^6.1.2" }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { + "@babel/helper-explode-assignable-expression": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.13.0" } }, - "node_modules/@babel/helper-function-name": { + "@babel/helper-function-name": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-get-function-arity": "^7.12.13", "@babel/template": "^7.12.13", "@babel/types": "^7.14.2" } }, - "node_modules/@babel/helper-get-function-arity": { + "@babel/helper-get-function-arity": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.12.13" } }, - "node_modules/@babel/helper-hoist-variables": { + "@babel/helper-hoist-variables": { "version": "7.13.16", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", "dev": true, - "dependencies": { + "requires": { "@babel/traverse": "^7.13.15", "@babel/types": "^7.13.16" } }, - "node_modules/@babel/helper-member-expression-to-functions": { + "@babel/helper-member-expression-to-functions": { "version": "7.13.12", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.13.12" } }, - "node_modules/@babel/helper-module-imports": { + "@babel/helper-module-imports": { "version": "7.13.12", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.13.12" } }, - "node_modules/@babel/helper-module-transforms": { + "@babel/helper-module-transforms": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-simple-access": "^7.13.12", @@ -390,586 +267,470 @@ "@babel/types": "^7.14.2" } }, - "node_modules/@babel/helper-optimise-call-expression": { + "@babel/helper-optimise-call-expression": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.12.13" } }, - "node_modules/@babel/helper-plugin-utils": { + "@babel/helper-plugin-utils": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true }, - "node_modules/@babel/helper-remap-async-to-generator": { + "@babel/helper-remap-async-to-generator": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-wrap-function": "^7.13.0", "@babel/types": "^7.13.0" } }, - "node_modules/@babel/helper-replace-supers": { + "@babel/helper-replace-supers": { "version": "7.13.12", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/traverse": "^7.13.0", "@babel/types": "^7.13.12" } }, - "node_modules/@babel/helper-simple-access": { + "@babel/helper-simple-access": { "version": "7.13.12", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.13.12" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.12.1" } }, - "node_modules/@babel/helper-split-export-declaration": { + "@babel/helper-split-export-declaration": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dependencies": { + "dev": true, + "requires": { "@babel/types": "^7.12.13" } }, - "node_modules/@babel/helper-validator-identifier": { + "@babel/helper-validator-identifier": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "dev": true }, - "node_modules/@babel/helper-validator-option": { + "@babel/helper-validator-option": { "version": "7.12.17", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true }, - "node_modules/@babel/helper-wrap-function": { + "@babel/helper-wrap-function": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-function-name": "^7.12.13", "@babel/template": "^7.12.13", "@babel/traverse": "^7.13.0", "@babel/types": "^7.13.0" } }, - "node_modules/@babel/helpers": { + "@babel/helpers": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", - "dependencies": { + "dev": true, + "requires": { "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.0", "@babel/types": "^7.14.0" } }, - "node_modules/@babel/highlight": { + "@babel/highlight": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, - "node_modules/@babel/parser": { + "@babel/parser": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.2.tgz", "integrity": "sha512-IoVDIHpsgE/fu7eXBeRWt8zLbDrSvD7H1gpomOkPpBoEN8KCruCqSDdqo8dddwQQrui30KSvQBaMUOJiuFu6QQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.13.12", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-proposal-optional-chaining": "^7.13.12" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { + "@babel/plugin-proposal-async-generator-functions": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz", "integrity": "sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-remap-async-to-generator": "^7.13.0", "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { + "@babel/plugin-proposal-class-properties": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-class-features-plugin": "^7.13.0", "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { + "@babel/plugin-proposal-class-static-block": { "version": "7.13.11", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-class-static-block": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { + "@babel/plugin-proposal-dynamic-import": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz", "integrity": "sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { + "@babel/plugin-proposal-export-namespace-from": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz", "integrity": "sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { + "@babel/plugin-proposal-json-strings": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz", "integrity": "sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "@babel/plugin-proposal-logical-assignment-operators": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz", "integrity": "sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz", "integrity": "sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { + "@babel/plugin-proposal-numeric-separator": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz", "integrity": "sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { + "@babel/plugin-proposal-object-rest-spread": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==", "dev": true, - "dependencies": { + "requires": { "@babel/compat-data": "^7.14.0", "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "@babel/plugin-proposal-optional-catch-binding": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz", "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { + "@babel/plugin-proposal-optional-chaining": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz", "integrity": "sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { + "@babel/plugin-proposal-private-methods": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-class-features-plugin": "^7.13.0", "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { + "@babel/plugin-proposal-private-property-in-object": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-create-class-features-plugin": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-private-property-in-object": "^7.14.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "@babel/plugin-proposal-unicode-property-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { + "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { + "@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { + "@babel/plugin-syntax-class-static-block": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { + "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { + "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { + "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { + "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { + "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { + "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { + "@babel/plugin-syntax-top-level-await": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { + "@babel/plugin-syntax-typescript": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { + "@babel/plugin-transform-arrow-functions": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { + "@babel/plugin-transform-async-to-generator": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-remap-async-to-generator": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { + "@babel/plugin-transform-block-scoped-functions": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { + "@babel/plugin-transform-block-scoping": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { + "@babel/plugin-transform-classes": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.14.2", "@babel/helper-optimise-call-expression": "^7.12.13", @@ -977,271 +738,208 @@ "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { + "@babel/plugin-transform-computed-properties": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { + "@babel/plugin-transform-destructuring": { "version": "7.13.17", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { + "@babel/plugin-transform-dotall-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { + "@babel/plugin-transform-duplicate-keys": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { + "@babel/plugin-transform-exponentiation-operator": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { + "@babel/plugin-transform-for-of": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { + "@babel/plugin-transform-function-name": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-function-name": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { + "@babel/plugin-transform-literals": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { + "@babel/plugin-transform-member-expression-literals": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { + "@babel/plugin-transform-modules-amd": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz", "integrity": "sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.14.2", "@babel/helper-plugin-utils": "^7.13.0", "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { + "@babel/plugin-transform-modules-commonjs": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-simple-access": "^7.13.12", "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { + "@babel/plugin-transform-modules-systemjs": { "version": "7.13.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-hoist-variables": "^7.13.0", "@babel/helper-module-transforms": "^7.13.0", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { + "@babel/plugin-transform-modules-umd": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-new-target": { + "@babel/plugin-transform-new-target": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { + "@babel/plugin-transform-object-super": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-replace-supers": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { + "@babel/plugin-transform-parameters": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz", "integrity": "sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { + "@babel/plugin-transform-property-literals": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { + "@babel/plugin-transform-regenerator": { "version": "7.13.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", "dev": true, - "dependencies": { + "requires": { "regenerator-transform": "^0.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { + "@babel/plugin-transform-reserved-words": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime": { + "@babel/plugin-transform-runtime": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.2.tgz", "integrity": "sha512-LyA2AiPkaYzI7G5e2YI4NCasTfFe7mZvlupNprDOB7CdNUHb2DQC4uV6oeZ0396gOcicUzUCh0MShL6wiUgk+Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-plugin-utils": "^7.13.0", "babel-plugin-polyfill-corejs2": "^0.2.0", @@ -1249,125 +947,97 @@ "babel-plugin-polyfill-regenerator": "^0.2.0", "semver": "^6.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { + "@babel/plugin-transform-shorthand-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { + "@babel/plugin-transform-spread": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { + "@babel/plugin-transform-sticky-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { + "@babel/plugin-transform-template-literals": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { + "@babel/plugin-transform-typeof-symbol": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript": { + "@babel/plugin-transform-typescript": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz", "integrity": "sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-class-features-plugin": "^7.13.0", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-typescript": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { + "@babel/plugin-transform-unicode-escapes": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { + "@babel/plugin-transform-unicode-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env": { + "@babel/preset-env": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", "dev": true, - "dependencies": { + "requires": { "@babel/compat-data": "^7.14.0", "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-plugin-utils": "^7.13.0", @@ -1442,73 +1112,65 @@ "core-js-compat": "^3.9.0", "semver": "^6.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@babel/preset-modules": { + "@babel/preset-modules": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-typescript": { + "@babel/preset-typescript": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-transform-typescript": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { + "@babel/runtime": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", "dev": true, - "dependencies": { + "requires": { "regenerator-runtime": "^0.13.4" } }, - "node_modules/@babel/template": { + "@babel/template": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dependencies": { + "dev": true, + "requires": { "@babel/code-frame": "^7.12.13", "@babel/parser": "^7.12.13", "@babel/types": "^7.12.13" } }, - "node_modules/@babel/traverse": { + "@babel/traverse": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", - "dependencies": { + "dev": true, + "requires": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.14.2", "@babel/helper-function-name": "^7.14.2", @@ -1517,244 +1179,71 @@ "@babel/types": "^7.14.2", "debug": "^4.1.0", "globals": "^11.1.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/types": { + "@babel/types": { "version": "7.14.2", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==", - "dependencies": { + "dev": true, + "requires": { "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "node_modules/@chainsafe/as-sha256": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.2.2.tgz", - "integrity": "sha512-4WGW1e1/+sFFdFozjuYIrrb7nw0kZHFNWs9k5YNhy8N9p0QfH6FUXlPyoHcrRJfROZ6Gy7MnmOoyPyMZfzw/+Q==", - "dependencies": { - "@assemblyscript/loader": "^0.9.2", - "buffer": "^5.4.3" - } - }, - "node_modules/@chainsafe/as-sha256/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/@chainsafe/geth-dev-assistant": { + "@chainsafe/geth-dev-assistant": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/@chainsafe/geth-dev-assistant/-/geth-dev-assistant-0.1.10.tgz", "integrity": "sha512-tlJi2qWYI0SQZnhh0KmYJXEDrm1MMmDziT0a1l8FJjY15mZ0iy2OMr/v0HoRdnEclWkoADDmotwUDgEwPLyemw==", "dev": true, - "dependencies": { + "requires": { "colors": "^1.3.3", "node-emoji": "^1.10.0", "web3": "1.3.6-rc.2", "yargs": "^13.2.2" - }, - "bin": { - "geth-dev-assistant": "index.js" - } - }, - "node_modules/@chainsafe/lodestar-params": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@chainsafe/lodestar-params/-/lodestar-params-0.13.0.tgz", - "integrity": "sha512-rd88F8fy3CE4UGUhf33xLZXdfwFiSdKX7omSISiI9YFluCU7yh0BZEtST4EmGd+v8wMm44i/R6CBOXVxf7eDoA==", - "dependencies": { - "@chainsafe/ssz": "^0.6.13", - "@types/js-yaml": "^3.12.2", - "axios": "^0.21.0", - "js-yaml": "^3.13.1" - } - }, - "node_modules/@chainsafe/lodestar-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@chainsafe/lodestar-types/-/lodestar-types-0.13.0.tgz", - "integrity": "sha512-+CJiK0ArS2XRoQQ9tvIup6L4cjfadfX4MInWvEkl9SENCDtNjI0LYspIJNDfNZcz+2lMZ/ZpxNw92YrG8mbMpw==", - "dependencies": { - "@chainsafe/lodestar-params": "^0.13.0", - "@chainsafe/ssz": "^0.6.13" - } - }, - "node_modules/@chainsafe/persistent-merkle-tree": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.2.3.tgz", - "integrity": "sha512-Cgqh1taB9ItxFHhcK4xg+Sna+qHTyey79BI1869scJS0VlA6xL0Vga2FcYGYW2t4FZ4o54zjCwGGS/0ZZxD4Lw==", - "dependencies": { - "@chainsafe/as-sha256": "^0.2.0" - } - }, - "node_modules/@chainsafe/ssz": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.6.13.tgz", - "integrity": "sha512-pKb1nlIRD3YvVlgbgB5kir+H2tu1pUhiZd9SIrwUr3xq/vQvoYcs3z+DBrhl1WtW5zwQorxgMe/1pnXp7raLtA==", - "dependencies": { - "@chainsafe/as-sha256": "^0.2.0", - "@chainsafe/persistent-merkle-tree": "^0.2.1", - "case": "^1.6.3" - } - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@definitelytyped/header-parser": { - "version": "0.0.85", - "resolved": "https://registry.npmjs.org/@definitelytyped/header-parser/-/header-parser-0.0.85.tgz", - "integrity": "sha512-fH37Yt5VjBKFu/2rFzn6xrjkASaIEqjED77V7vxb8JFCalTvGhiPpTrWzfp2EjK0Lhd8bkCZhRpYoW8GKatcdA==", - "dependencies": { - "@definitelytyped/typescript-versions": "^0.0.85", - "@types/parsimmon": "^1.10.1", - "parsimmon": "^1.13.0" - } - }, - "node_modules/@definitelytyped/typescript-versions": { - "version": "0.0.85", - "resolved": "https://registry.npmjs.org/@definitelytyped/typescript-versions/-/typescript-versions-0.0.85.tgz", - "integrity": "sha512-+yHqi887UMZ4TlLBkA2QcYNP/EZSKGKSAFJtSWY6J5DiBQq3k0yLN1yTfbLonQ52IBenI1iJo/4ePr5A3co5ZQ==" - }, - "node_modules/@definitelytyped/utils": { - "version": "0.0.85", - "resolved": "https://registry.npmjs.org/@definitelytyped/utils/-/utils-0.0.85.tgz", - "integrity": "sha512-GHfMwIroQf3jrvps3a0rClpm5thyHajXGkMUTk4tJ4ew5I53wCnJSPMwlknsFD70F7a1hNDJGySu0PRg4px32Q==", - "dependencies": { - "@definitelytyped/typescript-versions": "^0.0.85", - "@types/node": "^14.14.35", - "charm": "^1.0.2", - "fs-extra": "^8.1.0", - "fstream": "^1.0.12", - "npm-registry-client": "^8.6.0", - "tar": "^2.2.2", - "tar-stream": "^2.1.4" - } - }, - "node_modules/@definitelytyped/utils/node_modules/@types/node": { - "version": "14.17.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.6.tgz", - "integrity": "sha512-iBxsxU7eswQDGhlr3AiamBxOssaYxbM+NKXVil8jg9yFXvrfEFbDumLD/2dMTB+zYyg7w+Xjt8yuxfdbUHAtcQ==" - }, - "node_modules/@definitelytyped/utils/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@definitelytyped/utils/node_modules/tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dependencies": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" } }, - "node_modules/@ensdomains/ens": { + "@ensdomains/ens": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.6.0.tgz", "integrity": "sha512-eeRPEPtKGNySPsObrAc3+Xxgw+vSl9C6zUptlxIMi7TlPXYS11Zqd7g3PnHzxvMieWj6dztbH07UdDo/zCqMqQ==", - "deprecated": "Please use @ensdomains/ens-contracts", "dev": true, - "dependencies": { + "requires": { "bluebird": "^3.5.2", "eth-ens-namehash": "^2.0.8", "solc": "^0.4.20", "testrpc": "0.0.1" } }, - "node_modules/@ensdomains/resolver": { + "@ensdomains/resolver": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "deprecated": "Please use @ensdomains/ens-contracts", "dev": true }, - "node_modules/@ethereumjs/common": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.4.0.tgz", - "integrity": "sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w==", - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.0" - } - }, - "node_modules/@ethereumjs/tx": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.0.tgz", - "integrity": "sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA==", - "dependencies": { - "@ethereumjs/common": "^2.4.0", - "ethereumjs-util": "^7.1.0" - } - }, - "node_modules/@ethersproject/abi": { + "@ethersproject/abi": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dependencies": { + "dev": true, + "requires": { "@ethersproject/address": "^5.0.4", "@ethersproject/bignumber": "^5.0.7", "@ethersproject/bytes": "^5.0.4", @@ -1766,21 +1255,12 @@ "@ethersproject/strings": "^5.0.4" } }, - "node_modules/@ethersproject/abstract-provider": { + "@ethersproject/abstract-provider": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz", "integrity": "sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/bignumber": "^5.1.0", "@ethersproject/bytes": "^5.1.0", "@ethersproject/logger": "^5.1.0", @@ -1790,21 +1270,12 @@ "@ethersproject/web": "^5.1.0" } }, - "node_modules/@ethersproject/abstract-signer": { + "@ethersproject/abstract-signer": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz", "integrity": "sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/abstract-provider": "^5.1.0", "@ethersproject/bignumber": "^5.1.0", "@ethersproject/bytes": "^5.1.0", @@ -1812,21 +1283,12 @@ "@ethersproject/properties": "^5.1.0" } }, - "node_modules/@ethersproject/address": { + "@ethersproject/address": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.1.0.tgz", "integrity": "sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/bignumber": "^5.1.0", "@ethersproject/bytes": "^5.1.0", "@ethersproject/keccak256": "^5.1.0", @@ -1834,1737 +1296,1855 @@ "@ethersproject/rlp": "^5.1.0" } }, - "node_modules/@ethersproject/base64": { + "@ethersproject/base64": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.1.0.tgz", "integrity": "sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/bytes": "^5.1.0" } }, - "node_modules/@ethersproject/basex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.1.0.tgz", - "integrity": "sha512-vBKr39bum7DDbOvkr1Sj19bRMEPA4FnST6Utt6xhDzI7o7L6QNkDn2yrCfP+hnvJGhZFKtLygWwqlTBZoBXYLg==", + "@ethersproject/basex": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.4.0.tgz", + "integrity": "sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + }, + "dependencies": { + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/properties": "^5.1.0" } }, - "node_modules/@ethersproject/bignumber": { + "@ethersproject/bignumber": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.1.1.tgz", "integrity": "sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/bytes": "^5.1.0", "@ethersproject/logger": "^5.1.0", "bn.js": "^4.4.0" } }, - "node_modules/@ethersproject/bytes": { + "@ethersproject/bytes": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.1.0.tgz", "integrity": "sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/logger": "^5.1.0" } }, - "node_modules/@ethersproject/constants": { + "@ethersproject/constants": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.1.0.tgz", "integrity": "sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { + "dev": true, + "requires": { "@ethersproject/bignumber": "^5.1.0" } }, - "node_modules/@ethersproject/contracts": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.1.1.tgz", - "integrity": "sha512-6WwktLJ0DFWU8pDkgH4IGttQHhQN4SnwKFu9h+QYVe48VGWtbDu4W8/q/7QA1u/HWlWMrKxqawPiZUJj0UMvOw==", + "@ethersproject/contracts": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.4.1.tgz", + "integrity": "sha512-m+z2ZgPy4pyR15Je//dUaymRUZq5MtDajF6GwFbGAVmKz/RF+DNIPwF0k5qEcL3wPGVqUjFg2/krlCRVTU4T5w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "requires": { + "@ethersproject/abi": "^5.4.0", + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0" + }, "dependencies": { - "@ethersproject/abi": "^5.1.0", - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/transactions": "^5.1.0" - } - }, - "node_modules/@ethersproject/contracts/node_modules/@ethersproject/abi": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz", - "integrity": "sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/abi": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.4.0.tgz", + "integrity": "sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/hash": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.1.0.tgz", - "integrity": "sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.1.0.tgz", - "integrity": "sha512-obIWdlujloExPHWJGmhJO/sETOOo7SEb6qemV4f8kyFoXg+cJK+Ta9SvBrj7hsUK85n3LZeZJZRjjM7oez3Clg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/basex": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/pbkdf2": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/sha2": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/wordlists": "^5.1.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz", - "integrity": "sha512-00n2iBy27w8zrGZSiU762UOVuzCQZxUZxopsZC47++js6xUFuI74DHcJ5K/2pddlF1YBskvmMuboEu1geK8mnA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/hdnode": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/pbkdf2": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/random": "^5.1.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.1.0.tgz", - "integrity": "sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "js-sha3": "0.5.7" - } - }, - "node_modules/@ethersproject/keccak256/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/@ethersproject/logger": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz", - "integrity": "sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.1.0.tgz", - "integrity": "sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.1.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz", - "integrity": "sha512-B8cUbHHTgs8OtgJIafrRcz/YPDobVd5Ru8gTnShOiM9EBuFpYHQpq3+8iQJ6pyczDu6HP/oc/njAsIBhwFZYew==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/sha2": "^5.1.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz", - "integrity": "sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.1.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.1.2.tgz", - "integrity": "sha512-GqsS8rd+eyd4eNkcNgzZ4l9IRULBPUZa7JPnv22k4MHflMobUseyhfbVnmoN5bVNNkOxjV1IPTw9i0sV1hwdpg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/basex": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/networks": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/random": "^5.1.0", - "@ethersproject/rlp": "^5.1.0", - "@ethersproject/sha2": "^5.1.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/web": "^5.1.0", - "bech32": "1.1.4", - "ws": "7.2.3" - } - }, - "node_modules/@ethersproject/providers/node_modules/ws": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", - "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@ethersproject/random": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.1.0.tgz", - "integrity": "sha512-+uuczLQZ4+no9cP6TCoCktXx0u2YbNaRT7lRkSt12d8263e702f0u+4JnnRO8Qmv5nylWJebnqCHzyxP+6mLqw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.1.0.tgz", - "integrity": "sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.1.0.tgz", - "integrity": "sha512-+fNSeZRstOpdRJpdGUkRONFCaiAqWkc91zXgg76Nlp5ndBQE25Kk5yK8gCPG1aGnCrbariiPr5j9DmrYH78JCA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "hash.js": "1.1.3" - } - }, - "node_modules/@ethersproject/sha2/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz", - "integrity": "sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "bn.js": "^4.4.0", - "elliptic": "6.5.4" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.1.0.tgz", - "integrity": "sha512-kPodsGyo9zg1g9XSXp1lGhFaezBAUUsAUB1Vf6OkppE5Wksg4Et+x3kG4m7J/uShDMP2upkJtHNsIBK2XkVpKQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/hash": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.4.0.tgz", + "integrity": "sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/sha2": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.1.0.tgz", - "integrity": "sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.1.1.tgz", - "integrity": "sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/rlp": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.1.0.tgz", - "integrity": "sha512-isvJrx6qG0nKWfxsGORNjmOq/nh175fStfvRTA2xEKrGqx8JNJY83fswu4GkILowfriEM/eYpretfJnfzi7YhA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" + } + }, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/logger": "^5.1.0" } }, - "node_modules/@ethersproject/wallet": { + "@ethersproject/hash": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.1.0.tgz", - "integrity": "sha512-ULmUtiYQLTUS+y3DgkLzRhFEK10zMwmjOthnjiZxee3Q/MVwr3rnmuAnXIUZrPjna6hvUPnyRIdW5XuF0Ld0YQ==", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.1.0.tgz", + "integrity": "sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.1.0", + "requires": { "@ethersproject/abstract-signer": "^5.1.0", "@ethersproject/address": "^5.1.0", "@ethersproject/bignumber": "^5.1.0", "@ethersproject/bytes": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/hdnode": "^5.1.0", - "@ethersproject/json-wallets": "^5.1.0", "@ethersproject/keccak256": "^5.1.0", "@ethersproject/logger": "^5.1.0", "@ethersproject/properties": "^5.1.0", - "@ethersproject/random": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/wordlists": "^5.1.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.1.0.tgz", - "integrity": "sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.1.0.tgz", - "integrity": "sha512-NsUCi/TpBb+oTFvMSccUkJGtp5o/84eOyqp5q5aBeiNBSLkYyw21znRn9mAmxZgySpxgruVgKbaapnYPgvctPQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", "@ethersproject/strings": "^5.1.0" } }, - "node_modules/@evocateur/libnpmaccess": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", - "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", + "@ethersproject/hdnode": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.4.0.tgz", + "integrity": "sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q==", "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/basex": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/pbkdf2": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/sha2": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0", + "@ethersproject/strings": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/wordlists": "^5.4.0" + }, "dependencies": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0" - } - }, - "node_modules/@evocateur/libnpmaccess/node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/@evocateur/libnpmpublish": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", - "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", - "dev": true, - "dependencies": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + } + }, + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" + } + }, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "node_modules/@evocateur/libnpmpublish/node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/@evocateur/npm-registry-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", - "dev": true, + "@ethersproject/json-wallets": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz", + "integrity": "sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/hdnode": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/pbkdf2": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/random": "^5.4.0", + "@ethersproject/strings": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + }, "dependencies": { - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "JSONStream": "^1.3.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.1.2" + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + } + }, + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" + } + }, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "node_modules/@evocateur/pacote": { - "version": "9.6.5", - "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", - "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", + "@ethersproject/keccak256": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.1.0.tgz", + "integrity": "sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig==", "dev": true, + "requires": { + "@ethersproject/bytes": "^5.1.0", + "js-sha3": "0.5.7" + }, "dependencies": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "bluebird": "^3.5.3", - "cacache": "^12.0.3", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.5.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.4.4", - "npm-pick-manifest": "^3.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.3", - "safe-buffer": "^5.2.0", - "semver": "^5.7.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "node_modules/@evocateur/pacote/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "@ethersproject/logger": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz", + "integrity": "sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.1.0.tgz", + "integrity": "sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "requires": { + "@ethersproject/logger": "^5.1.0" } }, - "node_modules/@evocateur/pacote/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "@ethersproject/pbkdf2": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz", + "integrity": "sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/sha2": "^5.4.0" + }, + "dependencies": { + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } }, - { - "type": "consulting", - "url": "https://feross.org/support" + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true } - ] - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@ethersproject/properties": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz", + "integrity": "sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.1.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" + "@ethersproject/providers": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.4.3.tgz", + "integrity": "sha512-VURwkaWPoUj7jq9NheNDT5Iyy64Qcyf6BOFDwVdHsmLmX/5prNjFrgSX3GHPE4z1BRrVerDxe2yayvXKFm/NNg==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/basex": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/hash": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/random": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/sha2": "^5.4.0", + "@ethersproject/strings": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0", + "bech32": "1.1.4", + "ws": "7.4.6" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "engines": { - "node": ">=8" + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + } + }, + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/hash": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.4.0.tgz", + "integrity": "sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" + } + }, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true + } } }, - "node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" + "@ethersproject/random": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.4.0.tgz", + "integrity": "sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + } } }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@ethersproject/rlp": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.1.0.tgz", + "integrity": "sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.1.0", + "@ethersproject/logger": "^5.1.0" } }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" + "@ethersproject/sha2": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.4.0.tgz", + "integrity": "sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "hash.js": "1.1.7" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + } } }, - "node_modules/@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 10.14.2" + "@ethersproject/signing-key": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz", + "integrity": "sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.1.0", + "@ethersproject/logger": "^5.1.0", + "@ethersproject/properties": "^5.1.0", + "bn.js": "^4.4.0", + "elliptic": "6.5.4" } }, - "node_modules/@jest/core/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "@ethersproject/solidity": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.4.0.tgz", + "integrity": "sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/sha2": "^5.4.0", + "@ethersproject/strings": "^5.4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "node_modules/@jest/core/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" + "@ethersproject/strings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.1.0.tgz", + "integrity": "sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.1.0", + "@ethersproject/constants": "^5.1.0", + "@ethersproject/logger": "^5.1.0" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@ethersproject/transactions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.1.1.tgz", + "integrity": "sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.1.0", + "@ethersproject/bignumber": "^5.1.0", + "@ethersproject/bytes": "^5.1.0", + "@ethersproject/constants": "^5.1.0", + "@ethersproject/keccak256": "^5.1.0", + "@ethersproject/logger": "^5.1.0", + "@ethersproject/properties": "^5.1.0", + "@ethersproject/rlp": "^5.1.0", + "@ethersproject/signing-key": "^5.1.0" } }, - "node_modules/@jest/core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" + "@ethersproject/units": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.4.0.tgz", + "integrity": "sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + } } }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" + "@ethersproject/wallet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.4.0.tgz", + "integrity": "sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/hash": "^5.4.0", + "@ethersproject/hdnode": "^5.4.0", + "@ethersproject/json-wallets": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/random": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/wordlists": "^5.4.0" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/core/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/core/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/@jest/core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jest/core/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + } + }, + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/hash": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.4.0.tgz", + "integrity": "sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" + } + }, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "node_modules/@jest/core/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "@ethersproject/web": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.1.0.tgz", + "integrity": "sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.1.0", + "@ethersproject/bytes": "^5.1.0", + "@ethersproject/logger": "^5.1.0", + "@ethersproject/properties": "^5.1.0", + "@ethersproject/strings": "^5.1.0" } }, - "node_modules/@jest/core/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" + "@ethersproject/wordlists": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.4.0.tgz", + "integrity": "sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/hash": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" + } + }, + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.4.0" + } + }, + "@ethersproject/hash": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.4.0.tgz", + "integrity": "sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" + } + }, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" + } + }, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", + "dev": true, + "requires": { + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "node_modules/@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "dependencies": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "@evocateur/libnpmaccess": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", + "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0" }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + } } }, - "node_modules/@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "engines": { - "node": ">= 10.14.2" + "@evocateur/libnpmpublish": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", + "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" }, - "optionalDependencies": { - "node-notifier": "^8.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + } } }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@evocateur/npm-registry-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", + "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", + "dev": true, + "requires": { + "JSONStream": "^1.3.4", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" + "@evocateur/pacote": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", + "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "bluebird": "^3.5.3", + "cacache": "^12.0.3", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.5.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.4.4", + "npm-pick-manifest": "^3.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.3", + "safe-buffer": "^5.2.0", + "semver": "^5.7.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/reporters/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true } } }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@jest/reporters/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@jest/reporters/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@jest/reporters/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/source-map/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "dependencies": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/transform/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/transform/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/@jest/transform/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/transform/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/add": { + "@lerna/add": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", "integrity": "sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A==", "dev": true, - "dependencies": { + "requires": { "@evocateur/pacote": "^9.6.3", "@lerna/bootstrap": "3.21.0", "@lerna/command": "3.21.0", @@ -3576,25 +3156,21 @@ "p-map": "^2.1.0", "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/add/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/bootstrap": { + "@lerna/bootstrap": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.21.0.tgz", "integrity": "sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw==", "dev": true, - "dependencies": { + "requires": { "@lerna/command": "3.21.0", "@lerna/filter-options": "3.20.0", "@lerna/has-npm-version": "3.16.5", @@ -3619,68 +3195,55 @@ "read-package-tree": "^5.1.6", "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/bootstrap/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@lerna/changed": { + "@lerna/changed": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.21.0.tgz", "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", "dev": true, - "dependencies": { + "requires": { "@lerna/collect-updates": "3.20.0", "@lerna/command": "3.21.0", "@lerna/listable": "3.18.5", "@lerna/output": "3.13.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/check-working-tree": { + "@lerna/check-working-tree": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz", "integrity": "sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==", "dev": true, - "dependencies": { + "requires": { "@lerna/collect-uncommitted": "3.16.5", "@lerna/describe-ref": "3.16.5", "@lerna/validation-error": "3.13.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/child-process": { + "@lerna/child-process": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz", "integrity": "sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==", "dev": true, - "dependencies": { + "requires": { "chalk": "^2.3.1", "execa": "^1.0.0", "strong-log-transformer": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/clean": { + "@lerna/clean": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.21.0.tgz", "integrity": "sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg==", "dev": true, - "dependencies": { + "requires": { "@lerna/command": "3.21.0", "@lerna/filter-options": "3.20.0", "@lerna/prompt": "3.18.5", @@ -3689,92 +3252,82 @@ "p-map": "^2.1.0", "p-map-series": "^1.0.0", "p-waterfall": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/cli": { + "@lerna/cli": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz", "integrity": "sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==", "dev": true, - "dependencies": { + "requires": { "@lerna/global-options": "3.13.0", "dedent": "^0.7.0", "npmlog": "^4.1.2", "yargs": "^14.2.2" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/cli/node_modules/yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" - } - }, - "node_modules/@lerna/cli/node_modules/yargs-parser": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", - "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", - "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } }, - "node_modules/@lerna/collect-uncommitted": { + "@lerna/collect-uncommitted": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz", "integrity": "sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "chalk": "^2.3.1", "figgy-pudding": "^3.5.1", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/collect-updates": { + "@lerna/collect-updates": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.20.0.tgz", "integrity": "sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@lerna/describe-ref": "3.16.5", "minimatch": "^3.0.4", "npmlog": "^4.1.2", "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/command": { + "@lerna/command": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.21.0.tgz", "integrity": "sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@lerna/package-graph": "3.18.5", "@lerna/project": "3.21.0", @@ -3785,17 +3338,14 @@ "execa": "^1.0.0", "is-ci": "^2.0.0", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/conventional-commits": { + "@lerna/conventional-commits": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz", "integrity": "sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA==", "dev": true, - "dependencies": { + "requires": { "@lerna/validation-error": "3.13.0", "conventional-changelog-angular": "^5.0.3", "conventional-changelog-core": "^3.1.6", @@ -3808,39 +3358,32 @@ "pify": "^4.0.1", "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/create": { + "@lerna/create": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.22.0.tgz", "integrity": "sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw==", "dev": true, - "dependencies": { + "requires": { "@evocateur/pacote": "^9.6.3", "@lerna/child-process": "3.16.5", "@lerna/command": "3.21.0", @@ -3860,328 +3403,266 @@ "validate-npm-package-name": "^3.0.0", "whatwg-url": "^7.0.0" }, - "engines": { - "node": ">= 6.9.0" + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/create-symlink": { + "@lerna/create-symlink": { "version": "3.16.2", "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz", "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==", "dev": true, - "dependencies": { + "requires": { "@zkochan/cmd-shim": "^3.1.0", "fs-extra": "^8.1.0", "npmlog": "^4.1.2" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/create-symlink/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/create/node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "@lerna/describe-ref": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", + "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", "dev": true, - "engines": { - "node": ">= 6" + "requires": { + "@lerna/child-process": "3.16.5", + "npmlog": "^4.1.2" } }, - "node_modules/@lerna/create/node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "@lerna/diff": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", + "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", "dev": true, - "dependencies": { - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/validation-error": "3.13.0", + "npmlog": "^4.1.2" } }, - "node_modules/@lerna/create/node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "@lerna/exec": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", + "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", "dev": true, - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/profiler": "3.20.0", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "p-map": "^2.1.0" } }, - "node_modules/@lerna/create/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@lerna/create/node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/create/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@lerna/create/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/create/node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/create/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@lerna/describe-ref": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", - "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", - "dev": true, - "dependencies": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/diff": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", - "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", - "dev": true, - "dependencies": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/validation-error": "3.13.0", - "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/exec": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", - "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", - "dev": true, - "dependencies": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/filter-options": { + "@lerna/filter-options": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.20.0.tgz", "integrity": "sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g==", "dev": true, - "dependencies": { + "requires": { "@lerna/collect-updates": "3.20.0", "@lerna/filter-packages": "3.18.0", "dedent": "^0.7.0", "figgy-pudding": "^3.5.1", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/filter-packages": { + "@lerna/filter-packages": { "version": "3.18.0", "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz", "integrity": "sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==", "dev": true, - "dependencies": { + "requires": { "@lerna/validation-error": "3.13.0", "multimatch": "^3.0.0", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/get-npm-exec-opts": { + "@lerna/get-npm-exec-opts": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz", "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==", "dev": true, - "dependencies": { + "requires": { "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/get-packed": { + "@lerna/get-packed": { "version": "3.16.0", "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz", "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==", "dev": true, - "dependencies": { + "requires": { "fs-extra": "^8.1.0", "ssri": "^6.0.1", "tar": "^4.4.8" - } - }, - "node_modules/@lerna/get-packed/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" }, - "engines": { - "node": ">=6 <7 || >=8" + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/github-client": { + "@lerna/github-client": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.22.0.tgz", "integrity": "sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@octokit/plugin-enterprise-rest": "^6.0.1", "@octokit/rest": "^16.28.4", "git-url-parse": "^11.1.2", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/gitlab-client": { + "@lerna/gitlab-client": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz", "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==", "dev": true, - "dependencies": { + "requires": { "node-fetch": "^2.5.0", "npmlog": "^4.1.2", "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/global-options": { + "@lerna/global-options": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz", "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==", - "dev": true, - "engines": { - "node": ">= 6.9.0" - } + "dev": true }, - "node_modules/@lerna/has-npm-version": { + "@lerna/has-npm-version": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz", "integrity": "sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/has-npm-version/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/import": { + "@lerna/import": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.22.0.tgz", "integrity": "sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@lerna/command": "3.21.0", "@lerna/prompt": "3.18.5", @@ -4191,163 +3672,134 @@ "fs-extra": "^8.1.0", "p-map-series": "^1.0.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/import/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/info": { + "@lerna/info": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/info/-/info-3.21.0.tgz", "integrity": "sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA==", "dev": true, - "dependencies": { + "requires": { "@lerna/command": "3.21.0", "@lerna/output": "3.13.0", "envinfo": "^7.3.1" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/init": { + "@lerna/init": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.21.0.tgz", "integrity": "sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@lerna/command": "3.21.0", "fs-extra": "^8.1.0", "p-map": "^2.1.0", "write-json-file": "^3.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/init/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/link": { + "@lerna/link": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.21.0.tgz", "integrity": "sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ==", "dev": true, - "dependencies": { + "requires": { "@lerna/command": "3.21.0", "@lerna/package-graph": "3.18.5", "@lerna/symlink-dependencies": "3.17.0", "p-map": "^2.1.0", "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/list": { + "@lerna/list": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.21.0.tgz", "integrity": "sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg==", "dev": true, - "dependencies": { + "requires": { "@lerna/command": "3.21.0", "@lerna/filter-options": "3.20.0", "@lerna/listable": "3.18.5", "@lerna/output": "3.13.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/listable": { + "@lerna/listable": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz", "integrity": "sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==", "dev": true, - "dependencies": { + "requires": { "@lerna/query-graph": "3.18.5", "chalk": "^2.3.1", "columnify": "^1.5.4" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/log-packed": { + "@lerna/log-packed": { "version": "3.16.0", "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz", "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==", "dev": true, - "dependencies": { + "requires": { "byte-size": "^5.0.1", "columnify": "^1.5.4", "has-unicode": "^2.0.1", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/npm-conf": { + "@lerna/npm-conf": { "version": "3.16.0", "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz", "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==", "dev": true, - "dependencies": { + "requires": { "config-chain": "^1.1.11", "pify": "^4.0.1" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/npm-dist-tag": { + "@lerna/npm-dist-tag": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz", "integrity": "sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==", "dev": true, - "dependencies": { + "requires": { "@evocateur/npm-registry-fetch": "^4.0.0", "@lerna/otplease": "3.18.5", "figgy-pudding": "^3.5.1", "npm-package-arg": "^6.1.0", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/npm-install": { + "@lerna/npm-install": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz", "integrity": "sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@lerna/get-npm-exec-opts": "3.13.0", "fs-extra": "^8.1.0", @@ -4356,30 +3808,26 @@ "signal-exit": "^3.0.2", "write-pkg": "^3.1.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/npm-install/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/npm-publish": { + "@lerna/npm-publish": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz", "integrity": "sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==", "dev": true, - "dependencies": { + "requires": { "@evocateur/libnpmpublish": "^1.2.2", "@lerna/otplease": "3.18.5", "@lerna/run-lifecycle": "3.16.2", @@ -4390,69 +3838,56 @@ "pify": "^4.0.1", "read-package-json": "^2.0.13" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/npm-publish/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/npm-run-script": { + "@lerna/npm-run-script": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz", "integrity": "sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "@lerna/get-npm-exec-opts": "3.13.0", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/otplease": { + "@lerna/otplease": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz", "integrity": "sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==", "dev": true, - "dependencies": { + "requires": { "@lerna/prompt": "3.18.5", "figgy-pudding": "^3.5.1" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/output": { + "@lerna/output": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz", "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==", "dev": true, - "dependencies": { + "requires": { "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/pack-directory": { + "@lerna/pack-directory": { "version": "3.16.4", "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz", "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==", "dev": true, - "dependencies": { + "requires": { "@lerna/get-packed": "3.16.0", "@lerna/package": "3.16.0", "@lerna/run-lifecycle": "3.16.2", @@ -4463,139 +3898,117 @@ "temp-write": "^3.4.0" } }, - "node_modules/@lerna/package": { + "@lerna/package": { "version": "3.16.0", "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz", "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==", "dev": true, - "dependencies": { + "requires": { "load-json-file": "^5.3.0", "npm-package-arg": "^6.1.0", "write-pkg": "^3.1.0" }, - "engines": { - "node": ">= 6.9.0" + "dependencies": { + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } } }, - "node_modules/@lerna/package-graph": { + "@lerna/package-graph": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz", "integrity": "sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==", "dev": true, - "dependencies": { + "requires": { "@lerna/prerelease-id-from-version": "3.16.0", "@lerna/validation-error": "3.13.0", "npm-package-arg": "^6.1.0", "npmlog": "^4.1.2", "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/package-graph/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@lerna/package/node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/package/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/package/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/prerelease-id-from-version": { + "@lerna/prerelease-id-from-version": { "version": "3.16.0", "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz", "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==", "dev": true, - "dependencies": { + "requires": { "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/prerelease-id-from-version/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/profiler": { + "@lerna/profiler": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-3.20.0.tgz", "integrity": "sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg==", "dev": true, - "dependencies": { + "requires": { "figgy-pudding": "^3.5.1", "fs-extra": "^8.1.0", "npmlog": "^4.1.2", "upath": "^1.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/profiler/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/project": { + "@lerna/project": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.21.0.tgz", "integrity": "sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A==", "dev": true, - "dependencies": { + "requires": { "@lerna/package": "3.16.0", "@lerna/validation-error": "3.13.0", "cosmiconfig": "^5.1.0", @@ -4609,197 +4022,160 @@ "resolve-from": "^4.0.0", "write-json-file": "^3.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/project/node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/project/node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, "dependencies": { - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } } }, - "node_modules/@lerna/project/node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "@lerna/prompt": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", + "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", "dev": true, - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" + "requires": { + "inquirer": "^6.2.0", + "npmlog": "^4.1.2" } }, - "node_modules/@lerna/project/node_modules/fast-glob/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/@lerna/project/node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@lerna/project/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/project/node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/project/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@lerna/project/node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/project/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/project/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/project/node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/project/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/project/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/prompt": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", - "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", - "dev": true, - "dependencies": { - "inquirer": "^6.2.0", - "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/publish": { + "@lerna/publish": { "version": "3.22.1", "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.22.1.tgz", "integrity": "sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw==", "dev": true, - "dependencies": { + "requires": { "@evocateur/libnpmaccess": "^3.1.2", "@evocateur/npm-registry-fetch": "^4.0.0", "@evocateur/pacote": "^9.6.3", @@ -4831,107 +4207,87 @@ "p-pipe": "^1.2.0", "semver": "^6.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/publish/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@lerna/publish/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/@lerna/pulse-till-done": { + "@lerna/pulse-till-done": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz", "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==", "dev": true, - "dependencies": { + "requires": { "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/query-graph": { + "@lerna/query-graph": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz", "integrity": "sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==", "dev": true, - "dependencies": { + "requires": { "@lerna/package-graph": "3.18.5", "figgy-pudding": "^3.5.1" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/resolve-symlink": { + "@lerna/resolve-symlink": { "version": "3.16.0", "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz", "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==", "dev": true, - "dependencies": { + "requires": { "fs-extra": "^8.1.0", "npmlog": "^4.1.2", "read-cmd-shim": "^1.0.1" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/rimraf-dir": { + "@lerna/rimraf-dir": { "version": "3.16.5", "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz", "integrity": "sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==", "dev": true, - "dependencies": { + "requires": { "@lerna/child-process": "3.16.5", "npmlog": "^4.1.2", "path-exists": "^3.0.0", "rimraf": "^2.6.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/run": { + "@lerna/run": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.21.0.tgz", "integrity": "sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q==", "dev": true, - "dependencies": { + "requires": { "@lerna/command": "3.21.0", "@lerna/filter-options": "3.20.0", "@lerna/npm-run-script": "3.16.5", @@ -4941,75 +4297,62 @@ "@lerna/timer": "3.13.0", "@lerna/validation-error": "3.13.0", "p-map": "^2.1.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/run-lifecycle": { + "@lerna/run-lifecycle": { "version": "3.16.2", "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz", "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==", "dev": true, - "dependencies": { + "requires": { "@lerna/npm-conf": "3.16.0", "figgy-pudding": "^3.5.1", "npm-lifecycle": "^3.1.2", "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/run-topologically": { + "@lerna/run-topologically": { "version": "3.18.5", "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz", "integrity": "sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==", "dev": true, - "dependencies": { + "requires": { "@lerna/query-graph": "3.18.5", "figgy-pudding": "^3.5.1", "p-queue": "^4.0.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/symlink-binary": { + "@lerna/symlink-binary": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz", "integrity": "sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==", "dev": true, - "dependencies": { + "requires": { "@lerna/create-symlink": "3.16.2", "@lerna/package": "3.16.0", "fs-extra": "^8.1.0", "p-map": "^2.1.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/symlink-binary/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/symlink-dependencies": { + "@lerna/symlink-dependencies": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz", "integrity": "sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==", "dev": true, - "dependencies": { + "requires": { "@lerna/create-symlink": "3.16.2", "@lerna/resolve-symlink": "3.16.0", "@lerna/symlink-binary": "3.17.0", @@ -5018,51 +4361,41 @@ "p-map": "^2.1.0", "p-map-series": "^1.0.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/symlink-dependencies/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, - "node_modules/@lerna/timer": { + "@lerna/timer": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz", "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==", - "dev": true, - "engines": { - "node": ">= 6.9.0" - } + "dev": true }, - "node_modules/@lerna/validation-error": { + "@lerna/validation-error": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz", "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==", "dev": true, - "dependencies": { + "requires": { "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@lerna/version": { + "@lerna/version": { "version": "3.22.1", "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.22.1.tgz", "integrity": "sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g==", "dev": true, - "dependencies": { + "requires": { "@lerna/check-working-tree": "3.16.5", "@lerna/child-process": "3.16.5", "@lerna/collect-updates": "3.20.0", @@ -5090,90 +4423,71 @@ "temp-write": "^3.4.0", "write-json-file": "^3.2.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/@lerna/version/node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/version/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/version/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@lerna/version/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } } }, - "node_modules/@lerna/write-log-file": { + "@lerna/write-log-file": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz", "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==", "dev": true, - "dependencies": { + "requires": { "npmlog": "^4.1.2", "write-file-atomic": "^2.3.0" - }, - "engines": { - "node": ">= 6.9.0" } }, - "node_modules/@mrmlnc/readdir-enhanced": { + "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, - "dependencies": { + "requires": { "call-me-maybe": "^1.0.1", "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/@nicolo-ribaudo/chokidar-2": { + "@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", "dev": true, "optional": true, - "dependencies": { + "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", @@ -5187,200 +4501,192 @@ "upath": "^1.1.1" } }, - "node_modules/@nodelib/fs.scandir": { + "@nodelib/fs.scandir": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { + "@nodelib/fs.stat": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } + "dev": true }, - "node_modules/@nodelib/fs.walk": { + "@nodelib/fs.walk": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@octokit/auth-token": { + "@octokit/auth-token": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", "dev": true, - "dependencies": { + "requires": { "@octokit/types": "^6.0.3" } }, - "node_modules/@octokit/endpoint": { + "@octokit/endpoint": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", "dev": true, - "dependencies": { + "requires": { "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } } }, - "node_modules/@octokit/endpoint/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - }, - "node_modules/@octokit/openapi-types": { + "@octokit/openapi-types": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==", "dev": true }, - "node_modules/@octokit/plugin-enterprise-rest": { + "@octokit/plugin-enterprise-rest": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", "dev": true }, - "node_modules/@octokit/plugin-paginate-rest": { + "@octokit/plugin-paginate-rest": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", "dev": true, - "dependencies": { + "requires": { "@octokit/types": "^2.0.1" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, + }, "dependencies": { - "@types/node": ">= 8" + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, - "node_modules/@octokit/plugin-request-log": { + "@octokit/plugin-request-log": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==", - "dev": true, - "peerDependencies": { - "@octokit/core": ">=3" - } + "dev": true }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { + "@octokit/plugin-rest-endpoint-methods": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", "dev": true, - "dependencies": { + "requires": { "@octokit/types": "^2.0.1", "deprecation": "^2.3.1" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, + }, "dependencies": { - "@types/node": ">= 8" + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, - "node_modules/@octokit/request": { + "@octokit/request": { "version": "5.4.15", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", "dev": true, - "dependencies": { + "requires": { "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.0.0", "@octokit/types": "^6.7.1", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.1", "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/request-error": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", + "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } } }, - "node_modules/@octokit/request-error": { + "@octokit/request-error": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", "dev": true, - "dependencies": { + "requires": { "@octokit/types": "^2.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" - } - }, - "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "dependencies": { - "@types/node": ">= 8" - } - }, - "node_modules/@octokit/request/node_modules/@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", - "dev": true, + }, "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@octokit/request/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, - "node_modules/@octokit/request/node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - }, - "node_modules/@octokit/rest": { + "@octokit/rest": { "version": "16.43.2", "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", "dev": true, - "dependencies": { + "requires": { "@octokit/auth-token": "^2.4.0", "@octokit/plugin-paginate-rest": "^1.1.1", "@octokit/plugin-request-log": "^1.0.0", @@ -5399,415 +4705,280 @@ "universal-user-agent": "^4.0.0" } }, - "node_modules/@octokit/types": { + "@octokit/types": { "version": "6.14.2", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", "dev": true, - "dependencies": { + "requires": { "@octokit/openapi-types": "^7.0.0" } }, - "node_modules/@sindresorhus/is": { + "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } + "dev": true }, - "node_modules/@szmarczak/http-timer": { + "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dependencies": { + "dev": true, + "requires": { "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "engines": { - "node": ">= 6" } }, - "node_modules/@types/anymatch": { + "@types/anymatch": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", "dev": true }, - "node_modules/@types/babel__core": { - "version": "7.1.15", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", - "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", - "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/bignumber.js": { + "@types/bignumber.js": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-4.0.3.tgz", "integrity": "sha512-KoJPKjhlWBry4fk8qcIufXFOU+zcZBfkHQWKbnAMQTMoe2GDeLpjSQHS+22gv+dg7gKdTP2WCjSeCVnfj8e+Gw==", "dev": true }, - "node_modules/@types/bn.js": { + "@types/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/glob": { + "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "dev": true, - "dependencies": { + "requires": { "@types/minimatch": "*", "@types/node": "*" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "node_modules/@types/js-yaml": { - "version": "3.12.7", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz", - "integrity": "sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==" - }, - "node_modules/@types/json-schema": { + "@types/json-schema": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, - "node_modules/@types/minimatch": { + "@types/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", "dev": true }, - "node_modules/@types/minimist": { + "@types/minimist": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", "dev": true }, - "node_modules/@types/node": { + "@types/node": { "version": "12.20.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.13.tgz", - "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==" + "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==", + "dev": true }, - "node_modules/@types/normalize-package-data": { + "@types/normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" - }, - "node_modules/@types/parsimmon": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.6.tgz", - "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==" + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true }, - "node_modules/@types/pbkdf2": { + "@types/pbkdf2": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { + "dev": true, + "requires": { "@types/node": "*" } }, - "node_modules/@types/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==" - }, - "node_modules/@types/secp256k1": { + "@types/secp256k1": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.2.tgz", "integrity": "sha512-QMg+9v0bbNJ2peLuHRWxzmy0HRJIG6gFZNhaRSp7S3ggSbCCxiqQB2/ybvhXyhHOCequpNkrx7OavNhrWOsW0A==", - "dependencies": { + "dev": true, + "requires": { "@types/node": "*" } }, - "node_modules/@types/source-list-map": { + "@types/source-list-map": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "node_modules/@types/tapable": { + "@types/tapable": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", "dev": true }, - "node_modules/@types/uglify-js": { + "@types/uglify-js": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", "dev": true, - "dependencies": { + "requires": { "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "node_modules/@types/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/webpack": { + "@types/webpack": { "version": "4.41.28", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.28.tgz", "integrity": "sha512-Nn84RAiJjKRfPFFCVR8LC4ueTtTdfWAMZ03THIzZWRJB+rX24BD3LqPSFnbMscWauEsT4segAsylPDIaZyZyLQ==", "dev": true, - "dependencies": { + "requires": { "@types/anymatch": "*", "@types/node": "*", "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "node_modules/@types/webpack-sources": { + "@types/webpack-sources": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", "dev": true, - "dependencies": { + "requires": { "@types/node": "*", "@types/source-list-map": "*", "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + }, "dependencies": { - "@types/yargs-parser": "*" + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } }, - "node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" - }, - "node_modules/@webassemblyjs/ast": { + "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/helper-module-context": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { + "@webassemblyjs/floating-point-hex-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, - "node_modules/@webassemblyjs/helper-api-error": { + "@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, - "node_modules/@webassemblyjs/helper-buffer": { + "@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, - "node_modules/@webassemblyjs/helper-code-frame": { + "@webassemblyjs/helper-code-frame": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@webassemblyjs/helper-fsm": { + "@webassemblyjs/helper-fsm": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, - "node_modules/@webassemblyjs/helper-module-context": { + "@webassemblyjs/helper-module-context": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, - "node_modules/@webassemblyjs/helper-wasm-section": { + "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/@webassemblyjs/ieee754": { + "@webassemblyjs/ieee754": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, - "dependencies": { + "requires": { "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@webassemblyjs/leb128": { + "@webassemblyjs/leb128": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, - "dependencies": { + "requires": { "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/utf8": { + "@webassemblyjs/utf8": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { + "@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -5818,12 +4989,12 @@ "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@webassemblyjs/wasm-gen": { + "@webassemblyjs/wasm-gen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", "@webassemblyjs/ieee754": "1.9.0", @@ -5831,24 +5002,24 @@ "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { + "@webassemblyjs/wasm-opt": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-buffer": "1.9.0", "@webassemblyjs/wasm-gen": "1.9.0", "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { + "@webassemblyjs/wasm-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", "@webassemblyjs/helper-wasm-bytecode": "1.9.0", @@ -5857,12 +5028,12 @@ "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@webassemblyjs/wast-parser": { + "@webassemblyjs/wast-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/floating-point-hex-parser": "1.9.0", "@webassemblyjs/helper-api-error": "1.9.0", @@ -5871,915 +5042,553 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/wast-printer": { + "@webassemblyjs/wast-printer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, - "node_modules/@xtuc/ieee754": { + "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "node_modules/@xtuc/long": { + "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "node_modules/@zkochan/cmd-shim": { + "@zkochan/cmd-shim": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz", "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==", "dev": true, - "dependencies": { + "requires": { "is-windows": "^1.0.0", "mkdirp-promise": "^5.0.1", "mz": "^2.5.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } }, - "node_modules/abbrev": { + "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, - "node_modules/accepts": { + "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { + "dev": true, + "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/acorn": { + "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } + "dev": true }, - "node_modules/acorn-node": { + "acorn-node": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, - "dependencies": { + "requires": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", "xtend": "^4.0.2" } }, - "node_modules/acorn-walk": { + "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } + "dev": true }, - "node_modules/aes-js": { + "aes-js": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", "dev": true }, - "node_modules/after": { + "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, - "node_modules/agent-base": { + "agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, - "dependencies": { + "requires": { "es6-promisify": "^5.0.0" - }, - "engines": { - "node": ">= 4.0.0" } }, - "node_modules/agentkeepalive": { + "agentkeepalive": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", "dev": true, - "dependencies": { + "requires": { "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 4.0.0" } }, - "node_modules/ajv": { + "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { + "dev": true, + "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-errors": { + "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } + "dev": true }, - "node_modules/ajv-keywords": { + "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } + "dev": true }, - "node_modules/ansi-colors": { + "ansi-colors": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/ansi-escapes": { + "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { + "dev": true, + "requires": { "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/any-promise": { + "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", "dev": true }, - "node_modules/anymatch": { + "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { + "dev": true, + "optional": true, + "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, - "node_modules/append-transform": { + "append-transform": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", "dev": true, - "dependencies": { + "requires": { "default-require-extensions": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/aproba": { + "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "devOptional": true + "dev": true }, - "node_modules/archy": { + "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, - "node_modules/are-we-there-yet": { + "are-we-there-yet": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "devOptional": true, - "dependencies": { + "dev": true, + "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" } }, - "node_modules/arg": { + "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true + "dev": true }, - "node_modules/argparse": { + "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { + "dev": true, + "requires": { "sprintf-js": "~1.0.2" } }, - "node_modules/arr-diff": { + "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/arr-flatten": { + "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/arr-union": { + "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/array-differ": { + "array-differ": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz", "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/array-filter": { + "array-filter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true }, - "node_modules/array-find-index": { + "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/array-flatten": { + "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true }, - "node_modules/array-ify": { + "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", "dev": true }, - "node_modules/array-union": { + "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, - "dependencies": { + "requires": { "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/array-uniq": { + "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/array-unique": { + "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/arraybuffer.slice": { + "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, - "node_modules/arrify": { + "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/asap": { + "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, - "node_modules/asn1": { + "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dependencies": { + "dev": true, + "requires": { "safer-buffer": "~2.1.0" } }, - "node_modules/asn1.js": { + "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { + "dev": true, + "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "safer-buffer": "^2.1.0" } }, - "node_modules/assert": { + "assert": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, - "dependencies": { + "requires": { "object-assign": "^4.1.1", "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, - "node_modules/assert-plus": { + "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "dev": true }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assertion-error": { + "assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/assign-symbols": { + "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/async-each": { + "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true, "optional": true }, - "node_modules/async-limiter": { + "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true }, - "node_modules/asynckit": { + "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, - "node_modules/atob": { + "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } + "dev": true }, - "node_modules/atob-lite": { + "atob-lite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", "dev": true }, - "node_modules/available-typed-arrays": { + "available-typed-arrays": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "dependencies": { + "dev": true, + "requires": { "array-filter": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { + "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/aws4": { + "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true }, - "node_modules/axios": { + "axios": { "version": "0.21.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dependencies": { + "dev": true, + "requires": { "follow-redirects": "^1.10.0" } }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "node_modules/babel-code-frame/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader": { + "babel-loader": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", "dev": true, - "dependencies": { + "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/babel-plugin-dynamic-import-node": { + "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, - "dependencies": { + "requires": { "object.assign": "^4.1.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { + "babel-plugin-polyfill-corejs2": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", "dev": true, - "dependencies": { + "requires": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.2.0", "semver": "^6.1.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/babel-plugin-polyfill-corejs3": { + "babel-plugin-polyfill-corejs3": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-define-polyfill-provider": "^0.2.0", "core-js-compat": "^3.9.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { + "babel-plugin-polyfill-regenerator": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-define-polyfill-provider": "^0.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/backo2": { + "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, - "node_modules/base": { + "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { + "dev": true, + "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", @@ -6788,242 +5597,188 @@ "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "node_modules/base-x": { + "base-x": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", - "dependencies": { + "dev": true, + "requires": { "safe-buffer": "^5.0.1" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-arraybuffer": { + "base64-arraybuffer": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } + "dev": true }, - "node_modules/base64-js": { + "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/base64id": { + "base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "engines": { - "node": "^4.5.0 || >= 5.9" - } + "dev": true }, - "node_modules/bcrypt-pbkdf": { + "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dependencies": { + "dev": true, + "requires": { "tweetnacl": "^0.14.3" } }, - "node_modules/bech32": { + "bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", "dev": true }, - "node_modules/before-after-hook": { + "before-after-hook": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==", "dev": true }, - "node_modules/big.js": { + "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/bignumber.js": { + "bignumber.js": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/binary-extensions": { + "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/bindings": { + "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "optional": true, - "dependencies": { + "requires": { "file-uri-to-path": "1.0.0" } }, - "node_modules/bl": { + "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { + "dev": true, + "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" }, - "engines": { - "node": ">= 6" + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, - "node_modules/blakejs": { + "blakejs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=", + "dev": true }, - "node_modules/blob": { + "blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, - "node_modules/block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dependencies": { - "inherits": "~2.0.0" - }, - "engines": { - "node": "0.4 || >=0.5.8" - } - }, - "node_modules/bluebird": { + "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, - "node_modules/bn.js": { + "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, - "node_modules/body-parser": { + "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { + "dev": true, + "requires": { "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", @@ -7034,25 +5789,24 @@ "qs": "6.7.0", "raw-body": "2.4.0", "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" } }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { + "dev": true, + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { + "dev": true, + "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", @@ -7064,82 +5818,70 @@ "split-string": "^3.0.2", "to-regex": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, - "node_modules/brorand": { + "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true }, - "node_modules/brotli-size": { + "brotli-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.1.0.tgz", "integrity": "sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==", "dev": true, - "dependencies": { + "requires": { "duplexer": "^0.1.1", "iltorb": "^2.4.3" - }, - "engines": { - "node": ">=0.12.0" } }, - "node_modules/browser-pack": { + "browser-pack": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, - "dependencies": { + "requires": { + "JSONStream": "^1.0.3", "combine-source-map": "~0.8.0", "defined": "^1.0.0", - "JSONStream": "^1.0.3", "safe-buffer": "^5.1.1", "through2": "^2.0.0", "umd": "^3.0.0" - }, - "bin": { - "browser-pack": "bin/cmd.js" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "node_modules/browser-resolve": { + "browser-resolve": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, - "dependencies": { + "requires": { "resolve": "^1.17.0" } }, - "node_modules/browser-stdout": { + "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "node_modules/browserify": { + "browserify": { "version": "16.5.2", "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", "dev": true, - "dependencies": { + "requires": { + "JSONStream": "^1.0.3", "assert": "^1.4.0", "browser-pack": "^6.0.1", "browser-resolve": "^2.0.0", @@ -7161,7 +5903,6 @@ "https-browserify": "^1.0.0", "inherits": "~2.0.1", "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", "labeled-stream-splicer": "^2.0.0", "mkdirp-classic": "^0.5.2", "module-deps": "^6.2.3", @@ -7189,18 +5930,48 @@ "vm-browserify": "^1.0.0", "xtend": "^4.0.0" }, - "bin": { - "browserify": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8" + "dependencies": { + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + } } }, - "node_modules/browserify-aes": { + "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { + "dev": true, + "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", @@ -7209,46 +5980,53 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/browserify-cipher": { + "browserify-cipher": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { + "dev": true, + "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, - "node_modules/browserify-des": { + "browserify-des": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { + "dev": true, + "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, - "node_modules/browserify-rsa": { + "browserify-rsa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dependencies": { + "dev": true, + "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } } }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "node_modules/browserify-sign": { + "browserify-sign": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dependencies": { + "dev": true, + "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", @@ -7258,210 +6036,137 @@ "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true } - ] + } }, - "node_modules/browserify-zlib": { + "browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "dependencies": { + "requires": { "pako": "~1.0.5" } }, - "node_modules/browserify/node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/browserify/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/browserify/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/browserify/node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/browserslist": { + "browserslist": { "version": "4.16.6", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dependencies": { + "dev": true, + "requires": { "caniuse-lite": "^1.0.30001219", "colorette": "^1.2.2", "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/bs58": { + "bs58": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "dependencies": { - "base-x": "^3.0.2" + "dev": true, + "requires": { + "base-x": "^3.0.2" } }, - "node_modules/bs58check": { + "bs58check": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { + "dev": true, + "requires": { "bs58": "^4.0.0", "create-hash": "^1.1.0", "safe-buffer": "^5.1.2" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/btoa-lite": { + "btoa-lite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", "dev": true }, - "node_modules/buffer": { + "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, - "dependencies": { + "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, - "node_modules/buffer-from": { + "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, - "node_modules/buffer-to-arraybuffer": { + "buffer-to-arraybuffer": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", + "dev": true }, - "node_modules/buffer-xor": { + "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true }, - "node_modules/bufferutil": { + "bufferutil": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "hasInstallScript": true, - "dependencies": { + "dev": true, + "requires": { "node-gyp-build": "^4.2.0" } }, - "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/builtin-status-codes": { + "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, - "node_modules/builtins": { + "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true }, - "node_modules/bundlesize": { + "bundlesize": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.1.tgz", "integrity": "sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==", "dev": true, - "dependencies": { + "requires": { "axios": "^0.21.1", "brotli-size": "0.1.0", "bytes": "^3.1.0", @@ -7473,50 +6178,39 @@ "gzip-size": "^4.0.0", "prettycli": "^1.4.3" }, - "bin": { - "bundlesize": "index.js", - "bundlesize-init": "src/init-status.js", - "bundlesize-pipe": "pipe.js" + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } } }, - "node_modules/bundlesize/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/byline": { + "byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/byte-size": { + "byte-size": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz", "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/bytes": { + "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } + "dev": true }, - "node_modules/cacache": { + "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, - "dependencies": { + "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", @@ -7532,25 +6226,25 @@ "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" }, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } } }, - "node_modules/cache-base": { + "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { + "dev": true, + "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", @@ -7560,16 +6254,14 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/cacheable-request": { + "cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dependencies": { + "dev": true, + "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", @@ -7578,862 +6270,674 @@ "normalize-url": "^4.1.0", "responselike": "^1.0.2" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } } }, - "node_modules/cached-path-relative": { + "cached-path-relative": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, - "node_modules/caching-transform": { + "caching-transform": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", "dev": true, - "dependencies": { + "requires": { "hasha": "^3.0.0", "make-dir": "^2.0.0", "package-hash": "^3.0.0", "write-file-atomic": "^2.4.2" - }, - "engines": { - "node": ">=6" } }, - "node_modules/call-bind": { + "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { + "dev": true, + "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-me-maybe": { + "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", "dev": true }, - "node_modules/caller-callsite": { + "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, - "dependencies": { + "requires": { "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/caller-path": { + "caller-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, - "dependencies": { + "requires": { "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/callsite": { + "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/callsites": { + "callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/camelcase": { + "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/camelcase-keys": { + "camelcase-keys": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "dependencies": { + "requires": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caniuse-lite": { + "caniuse-lite": { "version": "1.0.30001228", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/case": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", - "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==", - "engines": { - "node": ">= 0.8.0" - } + "dev": true }, - "node_modules/caseless": { + "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, - "node_modules/chai": { + "chai": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", "dev": true, - "dependencies": { + "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", "deep-eql": "^3.0.1", "get-func-name": "^2.0.0", "pathval": "^1.1.1", "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" } }, - "node_modules/chalk": { + "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { + "dev": true, + "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { + "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "node_modules/charm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", - "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", - "dependencies": { - "inherits": "^2.0.1" - } - }, - "node_modules/check-error": { + "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/chokidar": { + "chokidar": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, - "dependencies": { + "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.5.0" }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, - "node_modules/chokidar/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/chokidar/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chokidar/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/chokidar/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/chokidar/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/chownr": { + "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, - "node_modules/chrome-trace-event": { + "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } + "dev": true }, - "node_modules/ci-env": { + "ci-env": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.16.0.tgz", "integrity": "sha512-ucF9caQEX5wQlY449KZBIJPx91+kRg9tJ3tWSc4+KzrvC5KNiPm/3g1noP8VhdI3046+Vw3jLmKAD0fjCRJTmw==", "dev": true }, - "node_modules/ci-info": { + "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true }, - "node_modules/cids": { + "cids": { "version": "0.7.5", "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "dependencies": { + "dev": true, + "requires": { "buffer": "^5.5.0", "class-is": "^1.1.0", "multibase": "~0.6.0", "multicodec": "^1.0.0", "multihashes": "~0.4.15" }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } } }, - "node_modules/cipher-base": { + "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { + "dev": true, + "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" - }, - "node_modules/class-is": { + "class-is": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", + "dev": true }, - "node_modules/class-utils": { + "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { + "dev": true, + "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, - "node_modules/clean-webpack-plugin": { + "clean-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", "dev": true, - "dependencies": { + "requires": { "@types/webpack": "^4.4.31", "del": "^4.1.1" - }, - "engines": { - "node": ">=8.9.0" - }, - "peerDependencies": { - "webpack": "*" } }, - "node_modules/cli": { + "cli": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", "dev": true, - "dependencies": { + "requires": { "exit": "0.1.2", "glob": "^7.1.1" - }, - "engines": { - "node": ">=0.2.5" } }, - "node_modules/cli-cursor": { + "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, - "dependencies": { + "requires": { "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/cli-width": { + "cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, - "node_modules/cliui": { + "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, - "dependencies": { + "requires": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" } }, - "node_modules/clone": { + "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } + "dev": true }, - "node_modules/clone-deep": { + "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "dependencies": { + "requires": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/clone-response": { + "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dependencies": { + "dev": true, + "requires": { "mimic-response": "^1.0.0" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/code-point-at": { + "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "dev": true }, - "node_modules/collection-visit": { + "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { + "dev": true, + "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/color-convert": { + "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { + "dev": true, + "requires": { "color-name": "1.1.3" } }, - "node_modules/color-name": { + "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, - "node_modules/colorette": { + "colorette": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true }, - "node_modules/colors": { + "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } + "dev": true }, - "node_modules/columnify": { + "columnify": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", "dev": true, - "dependencies": { + "requires": { "strip-ansi": "^3.0.0", "wcwidth": "^1.0.0" - } - }, - "node_modules/columnify/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/columnify/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, - "node_modules/combine-source-map": { + "combine-source-map": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", "dev": true, - "dependencies": { + "requires": { "convert-source-map": "~1.1.0", "inline-source-map": "~0.6.0", "lodash.memoize": "~3.0.3", "source-map": "~0.5.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "dev": true + } } }, - "node_modules/combine-source-map/node_modules/convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", - "dev": true - }, - "node_modules/combined-stream": { + "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { + "dev": true, + "requires": { "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/commander": { + "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, - "node_modules/commondir": { + "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "node_modules/compare-func": { + "compare-func": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, - "dependencies": { + "requires": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" - } - }, - "node_modules/compare-func/node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/compare-func/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } } }, - "node_modules/component-bind": { + "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", "dev": true }, - "node_modules/component-emitter": { + "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, - "node_modules/component-inherit": { + "component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, - "node_modules/concat-stream": { + "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { + "dev": true, + "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "node_modules/config-chain": { + "config-chain": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", "dev": true, - "dependencies": { + "requires": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, - "node_modules/connect": { + "connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "dependencies": { + "requires": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" } }, - "node_modules/console-browserify": { + "console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, - "node_modules/console-control-strings": { + "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "devOptional": true + "dev": true }, - "node_modules/constants-browserify": { + "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "node_modules/content-disposition": { + "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { + "dev": true, + "requires": { "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/content-hash": { + "content-hash": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "dependencies": { + "dev": true, + "requires": { "cids": "^0.7.1", "multicodec": "^0.5.5", "multihashes": "^0.4.15" } }, - "node_modules/content-type": { + "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } + "dev": true }, - "node_modules/conventional-changelog-angular": { + "conventional-changelog-angular": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", "dev": true, - "dependencies": { + "requires": { "compare-func": "^2.0.0", "q": "^1.5.1" - }, - "engines": { - "node": ">=10" } }, - "node_modules/conventional-changelog-core": { + "conventional-changelog-core": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", "dev": true, - "dependencies": { + "requires": { "conventional-changelog-writer": "^4.0.6", "conventional-commits-parser": "^3.0.3", "dateformat": "^3.0.0", @@ -8448,178 +6952,138 @@ "read-pkg-up": "^3.0.0", "through2": "^3.0.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/conventional-changelog-core/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } } }, - "node_modules/conventional-changelog-preset-loader": { + "conventional-changelog-preset-loader": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true, - "engines": { - "node": ">=10" - } + "dev": true }, - "node_modules/conventional-changelog-writer": { + "conventional-changelog-writer": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", "dev": true, - "dependencies": { + "requires": { "compare-func": "^2.0.0", "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", @@ -8631,108 +7095,88 @@ "split": "^1.0.0", "through2": "^4.0.0" }, - "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/conventional-changelog-writer/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, - "dependencies": { + "requires": { "lodash.ismatch": "^4.4.0", "modify-values": "^1.0.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/conventional-commits-parser": { + "conventional-commits-parser": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", + "requires": { "JSONStream": "^1.0.4", + "is-text-path": "^1.0.1", "lodash": "^4.17.15", "meow": "^8.0.0", "split2": "^3.0.0", "through2": "^4.0.0", "trim-off-newlines": "^1.0.0" }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/conventional-commits-parser/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, "dependencies": { - "readable-stream": "3" + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } } }, - "node_modules/conventional-recommended-bump": { + "conventional-recommended-bump": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz", "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==", "dev": true, - "dependencies": { + "requires": { "concat-stream": "^2.0.0", "conventional-changelog-preset-loader": "^2.1.1", "conventional-commits-filter": "^2.0.2", @@ -8742,32374 +7186,5358 @@ "meow": "^4.0.0", "q": "^1.5.1" }, - "bin": { - "conventional-recommended-bump": "cli.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/conventional-recommended-bump/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "dependencies": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "engines": [ - "node >= 6.0" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/conventional-recommended-bump/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "dependencies": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/conventional-recommended-bump/node_modules/redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "dependencies": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-recommended-bump/node_modules/trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", - "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", - "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/crc-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "dependencies": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - }, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/crypto-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", - "dev": true - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/data-urls/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/decache": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.0.tgz", - "integrity": "sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==", - "dev": true, - "dependencies": { - "callsite": "^1.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "dependencies": { - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-require-extensions/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "devOptional": true - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/dependency-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", - "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", - "dev": true, - "dependencies": { - "debug": "^4.0.0", - "detective": "^5.0.2", - "globby": "^10.0.1", - "is-relative": "^1.0.0", - "micromatch": "^4.0.2", - "minimist": "^1.2.0", - "pkg-up": "^3.1.0", - "read-package-json": "^2.0.10", - "resolve": "^1.1.7" - }, - "bin": { - "dependency-check": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/dependency-check/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-check/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-check/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dependency-check/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-check/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-check/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/dependency-check/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/dependency-check/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/dependency-check/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-check/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "node_modules/deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "dependencies": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - }, - "bin": { - "deps-sort": "bin/cmd.js" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", - "dev": true, - "dependencies": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dir-glob/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", - "dev": true, - "dependencies": { - "is-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dts-critic": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/dts-critic/-/dts-critic-3.3.8.tgz", - "integrity": "sha512-7kBza3f+RV/3hVCQ9yIskkrC+49kzDDM7qogbBFgLQCiGOLmUhpjE9FSw2iOWLVyeLagRNj7SmxAhD2SizJ49w==", - "dependencies": { - "@definitelytyped/header-parser": "latest", - "command-exists": "^1.2.8", - "rimraf": "^3.0.2", - "semver": "^6.2.0", - "tmp": "^0.2.1", - "yargs": "^15.3.1" - }, - "engines": { - "node": ">=10.17.0" - }, - "peerDependencies": { - "typescript": "*" - } - }, - "node_modules/dts-critic/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/dts-critic/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/dts-critic/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/dts-critic/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/dts-critic/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/dts-critic/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/dts-critic/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/dts-critic/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dts-critic/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dtslint": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-3.7.0.tgz", - "integrity": "sha512-kVFV+zI2zwCUuwjLl2XVuIoSeLIqba6SmFlBKicwrlk1v0If+x6/cNm7UljSsqN5fJM/K2JJfd9NPPDVBXjjuA==", - "dependencies": { - "@definitelytyped/header-parser": "latest", - "@definitelytyped/typescript-versions": "latest", - "@definitelytyped/utils": "latest", - "dts-critic": "latest", - "fs-extra": "^6.0.1", - "json-stable-stringify": "^1.0.1", - "strip-json-comments": "^2.0.1", - "tslint": "5.14.0", - "yargs": "^15.1.0" - }, - "bin": { - "dtslint": "bin/index.js" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": ">= 3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.7.0-dev || >= 3.8.0-dev || >= 3.9.0-dev || >= 4.0.0-dev" - } - }, - "node_modules/dtslint/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/dtslint/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/dtslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/dtslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/dtslint/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/dtslint/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/dtslint/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/dtslint/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dtslint/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.727", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz", - "integrity": "sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg==" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", - "dev": true, - "dependencies": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", - "dev": true, - "dependencies": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "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)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/engine.io/node_modules/ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "node_modules/entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/eth-ens-namehash/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.9.tgz", - "integrity": "sha512-GiK/RQkAkcVaEdxKVkPcG07PQ5vD7v2MFSHgZmBJSfMzNRHimntdBithsHAT89tAXnIpzVDWt8iaCD1DvkaxGg==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update.", - "dev": true - }, - "node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dev": true, - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", - "integrity": "sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw==", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util/node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "node_modules/ethers": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.1.4.tgz", - "integrity": "sha512-EAPQ/fgGRu0PoR/VNFnHTMOtG/IZ0AItdW55C9T8ffmVu0rnyllZL404eBF66elJehOLz2kxnUrhXpE7TCpW7g==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.1.2", - "@ethersproject/abstract-provider": "5.1.0", - "@ethersproject/abstract-signer": "5.1.0", - "@ethersproject/address": "5.1.0", - "@ethersproject/base64": "5.1.0", - "@ethersproject/basex": "5.1.0", - "@ethersproject/bignumber": "5.1.1", - "@ethersproject/bytes": "5.1.0", - "@ethersproject/constants": "5.1.0", - "@ethersproject/contracts": "5.1.1", - "@ethersproject/hash": "5.1.0", - "@ethersproject/hdnode": "5.1.0", - "@ethersproject/json-wallets": "5.1.0", - "@ethersproject/keccak256": "5.1.0", - "@ethersproject/logger": "5.1.0", - "@ethersproject/networks": "5.1.0", - "@ethersproject/pbkdf2": "5.1.0", - "@ethersproject/properties": "5.1.0", - "@ethersproject/providers": "5.1.2", - "@ethersproject/random": "5.1.0", - "@ethersproject/rlp": "5.1.0", - "@ethersproject/sha2": "5.1.0", - "@ethersproject/signing-key": "5.1.0", - "@ethersproject/solidity": "5.1.0", - "@ethersproject/strings": "5.1.0", - "@ethersproject/transactions": "5.1.1", - "@ethersproject/units": "5.1.0", - "@ethersproject/wallet": "5.1.0", - "@ethersproject/web": "5.1.0", - "@ethersproject/wordlists": "5.1.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abi": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz", - "integrity": "sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" - }, - "node_modules/events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expect/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/expect/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dependencies": { - "type": "^2.0.0" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-glob/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/fast-glob/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/fast-glob/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "node_modules/foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "dependencies": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node_modules/foreground-child/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/foreground-child/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/fstream/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/ganache-cli": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz", - "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", - "bundleDependencies": [ - "source-map-support", - "yargs", - "ethereumjs-util" - ], - "dev": true, - "dependencies": { - "ethereumjs-util": "6.2.1", - "source-map-support": "0.5.12", - "yargs": "13.2.4" - }, - "bin": { - "ganache-cli": "cli.js" - } - }, - "node_modules/ganache-cli/node_modules/@types/bn.js": { - "version": "4.11.6", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-cli/node_modules/@types/node": { - "version": "14.11.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/@types/pbkdf2": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-cli/node_modules/@types/secp256k1": { - "version": "4.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-cli/node_modules/ansi-regex": { - "version": "4.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/base-x": { - "version": "3.0.8", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-cli/node_modules/blakejs": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "CC0-1.0" - }, - "node_modules/ganache-cli/node_modules/bn.js": { - "version": "4.11.9", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/brorand": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/browserify-aes": { - "version": "1.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-cli/node_modules/bs58": { - "version": "4.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/ganache-cli/node_modules/bs58check": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-cli/node_modules/buffer-from": { - "version": "1.1.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/buffer-xor": { - "version": "1.0.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/cipher-base": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-cli/node_modules/cliui": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/ganache-cli/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ganache-cli/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/create-hash": { - "version": "1.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/ganache-cli/node_modules/create-hmac": { - "version": "1.1.7", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/ganache-cli/node_modules/cross-spawn": { - "version": "6.0.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/ganache-cli/node_modules/decamelize": { - "version": "1.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/elliptic": { - "version": "6.5.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ganache-cli/node_modules/emoji-regex": { - "version": "7.0.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/ganache-cli/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ganache-cli/node_modules/ethereumjs-util": { - "version": "6.2.1", - "dev": true, - "inBundle": true, - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-cli/node_modules/ethjs-util": { - "version": "0.1.6", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-cli/node_modules/evp_bytestokey": { - "version": "1.0.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-cli/node_modules/execa": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/find-up": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/ganache-cli/node_modules/get-stream": { - "version": "4.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/hash-base": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/hash.js": { - "version": "1.1.7", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/ganache-cli/node_modules/hmac-drbg": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/ganache-cli/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/invert-kv": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/is-hex-prefixed": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-cli/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/keccak": { - "version": "3.0.1", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-cli/node_modules/lcid": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "invert-kv": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/locate-path": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/map-age-cleaner": { - "version": "0.1.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/md5.js": { - "version": "1.3.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-cli/node_modules/mem": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/minimalistic-assert": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/nice-try": { - "version": "1.0.5", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/node-addon-api": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/node-gyp-build": { - "version": "4.2.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/ganache-cli/node_modules/npm-run-path": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/once": { - "version": "1.4.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/ganache-cli/node_modules/os-locale": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/p-defer": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/p-finally": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/p-is-promise": { - "version": "2.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ganache-cli/node_modules/p-locate": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/path-key": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-cli/node_modules/pbkdf2": { - "version": "3.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/ganache-cli/node_modules/pump": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ganache-cli/node_modules/randombytes": { - "version": "2.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/ganache-cli/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-cli/node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/require-main-filename": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/ripemd160": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/ganache-cli/node_modules/rlp": { - "version": "2.2.6", - "dev": true, - "inBundle": true, - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.1" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/ganache-cli/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/scrypt-js": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/secp256k1": { - "version": "4.0.2", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-cli/node_modules/semver": { - "version": "5.7.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-cli/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/setimmediate": { - "version": "1.0.5", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/sha.js": { - "version": "2.4.11", - "dev": true, - "inBundle": true, - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/ganache-cli/node_modules/shebang-command": { - "version": "1.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/shebang-regex": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/signal-exit": { - "version": "3.0.3", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/source-map-support": { - "version": "0.5.12", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/ganache-cli/node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/ganache-cli/node_modules/string-width": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/strip-ansi": { - "version": "5.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/strip-eof": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-cli/node_modules/strip-hex-prefix": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-cli/node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/which": { - "version": "1.3.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/ganache-cli/node_modules/which-module": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/wrap-ansi": { - "version": "5.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/y18n": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/yargs": { - "version": "13.2.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" - } - }, - "node_modules/ganache-cli/node_modules/yargs-parser": { - "version": "13.1.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "devOptional": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "devOptional": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "devOptional": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "devOptional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, - "bin": { - "get-pkg-repo": "cli.js" - } - }, - "node_modules/get-pkg-repo/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "dependencies": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/git-raw-commits/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "dependencies": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "dependencies": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/git-raw-commits/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "dependencies": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", - "dev": true, - "dependencies": { - "through2": "^2.0.2" - } - }, - "node_modules/git-raw-commits/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-raw-commits/node_modules/trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-remote-origin-url/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/git-semver-tags": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", - "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", - "dev": true, - "dependencies": { - "meow": "^4.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/git-semver-tags/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "dependencies": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "dependencies": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/git-semver-tags/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "dependencies": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/git-semver-tags/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags/node_modules/trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-up": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", - "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", - "dev": true, - "dependencies": { - "is-ssh": "^1.3.0", - "parse-url": "^5.0.0" - } - }, - "node_modules/git-url-parse": { - "version": "11.4.4", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz", - "integrity": "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==", - "dev": true, - "dependencies": { - "git-up": "^4.0.0" - } - }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/github-build": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.2.tgz", - "integrity": "sha512-xHVy8w+J09eD+uBqJ4CcRPr5HTa1BYaF6vPJ67yJekCWurPzimB/ExH1SGzW5iAFC2Uvw9TD1FpSIjh56hcB9Q==", - "dev": true, - "dependencies": { - "axios": "0.21.1" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "dev": true - }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-modules/node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "optional": true - }, - "node_modules/gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", - "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", - "dev": true, - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/gzip-size/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "dependencies": { - "isarray": "2.0.1" - } - }, - "node_modules/has-binary2/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "devOptional": true - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "dependencies": { - "is-stream": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hat": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", - "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "dependencies": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - } - }, - "node_modules/htmlparser2/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/htmlparser2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "dependencies": { - "agent-base": "4", - "debug": "3.1.0" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", - "engines": { - "node": ">=6" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, - "node_modules/iltorb": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-2.4.5.tgz", - "integrity": "sha512-EMCMl3LnnNSZJS5QrxyZmMTaAC4+TJkM5woD+xbpm9RB+mFYCr7C05GFE3TEGCsVQSVHmjX+3sf5AiwsylNInQ==", - "deprecated": "The zlib module provides APIs for brotli compression/decompression starting with Node.js v10.16.0, please use it over iltorb", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "detect-libc": "^1.0.3", - "nan": "^2.14.0", - "npmlog": "^4.1.2", - "prebuild-install": "^5.3.3", - "which-pm-runs": "^1.0.0" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/init-package-json": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", - "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", - "dev": true, - "dependencies": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" - } - }, - "node_modules/inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", - "dev": true, - "dependencies": { - "source-map": "~0.5.3" - } - }, - "node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", - "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "bin": { - "insert-module-globals": "bin/cmd.js" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "devOptional": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", - "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "node_modules/is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-ssh": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz", - "integrity": "sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==", - "dev": true, - "dependencies": { - "protocols": "^1.1.0" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "dependencies": { - "text-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", - "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "devOptional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "dependencies": { - "append-transform": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "dependencies": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-cli/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/jest-cli/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-config/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-config/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-haste-map/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-haste-map/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-haste-map/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-haste-map/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-message-util/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-message-util/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-resolve/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-resolve/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runtime/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/jest-runtime/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-util/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-util/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-watcher/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "node_modules/jsdom": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", - "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.5", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsdom/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/jsdom/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsdom/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsdom/node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsdom/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/jsdom/node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jshint": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.12.0.tgz", - "integrity": "sha512-TwuuaUDmra0JMkuqvqy+WGo2xGHSNjv1BA1nTIgtH2K5z1jHuAEeAgp7laaR+hLRmajRjcrM71+vByBDanCyYA==", - "dev": true, - "dependencies": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.19", - "minimatch": "~3.0.2", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x" - }, - "bin": { - "jshint": "bin/jshint" - } - }, - "node_modules/jshint/node_modules/console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "dependencies": { - "date-now": "^0.1.4" - } - }, - "node_modules/jshint/node_modules/strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "dev": true, - "bin": { - "strip-json-comments": "cli.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "engines": { - "node": "*" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/karma": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/karma/-/karma-5.2.3.tgz", - "integrity": "sha512-tHdyFADhVVPBorIKCX8A37iLHxc6RBRphkSoQ+MLKdAtFn1k97tD8WUGi1KlEtDZKL3hui0qhsY9HXUfSNDYPQ==", - "dev": true, - "dependencies": { - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.4.2", - "colors": "^1.4.0", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.6", - "graceful-fs": "^4.2.4", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.6", - "lodash": "^4.17.19", - "log4js": "^6.2.1", - "mime": "^2.4.5", - "minimatch": "^3.0.4", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^2.3.0", - "source-map": "^0.6.1", - "tmp": "0.2.1", - "ua-parser-js": "0.7.22", - "yargs": "^15.3.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-browserify": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/karma-browserify/-/karma-browserify-7.0.0.tgz", - "integrity": "sha512-SLgh1dmF2eZEj3glrmTD2CMJRGZwEiKA6k2hBr2+2JDC4JMU1dlsvBKpV66Lvi/tbj3H9qA+Vl/FdIcfPRrJpA==", - "dev": true, - "dependencies": { - "convert-source-map": "^1.1.3", - "hat": "^0.0.3", - "js-string-escape": "^1.0.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.0", - "os-shim": "^0.1.3" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "browserify": ">=10 <17", - "karma": ">=4.3.0", - "watchify": ">=3 <4" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", - "dev": true, - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-firefox-launcher": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.3.0.tgz", - "integrity": "sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ==", - "dev": true, - "dependencies": { - "is-wsl": "^2.1.0" - } - }, - "node_modules/karma-mocha": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz", - "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.3" - } - }, - "node_modules/karma-spec-reporter": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz", - "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", - "dev": true, - "dependencies": { - "colors": "^1.1.2" - }, - "peerDependencies": { - "karma": ">=0.9" - } - }, - "node_modules/karma/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/karma/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/karma/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/karma/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/karma/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/karma/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/karma/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/karma/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/karma/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/karma/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/karma/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lerna": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.22.1.tgz", - "integrity": "sha512-vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg==", - "dev": true, - "dependencies": { - "@lerna/add": "3.21.0", - "@lerna/bootstrap": "3.21.0", - "@lerna/changed": "3.21.0", - "@lerna/clean": "3.21.0", - "@lerna/cli": "3.18.5", - "@lerna/create": "3.22.0", - "@lerna/diff": "3.21.0", - "@lerna/exec": "3.21.0", - "@lerna/import": "3.22.0", - "@lerna/info": "3.21.0", - "@lerna/init": "3.21.0", - "@lerna/link": "3.21.0", - "@lerna/list": "3.21.0", - "@lerna/publish": "3.22.1", - "@lerna/run": "3.21.0", - "@lerna/version": "3.22.1", - "import-local": "^2.0.0", - "npmlog": "^4.1.2" - }, - "bin": { - "lerna": "cli.js" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", - "dev": true - }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log4js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", - "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", - "dev": true, - "dependencies": { - "date-format": "^3.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.1", - "rfdc": "^1.1.4", - "streamroller": "^2.2.4" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/log4js/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/log4js/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/macos-release": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz", - "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, - "dependencies": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "dependencies": { - "mime-db": "1.47.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", - "dependencies": { - "mkdirp": "*" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", - "dev": true, - "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "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)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "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.)", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/mocha/node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==" - }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "dependencies": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "module-deps": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/move-concurrently/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multibase/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "stable api reached", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multimatch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz", - "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==", - "dev": true, - "dependencies": { - "array-differ": "^2.0.3", - "array-union": "^1.0.2", - "arrify": "^1.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true - }, - "node_modules/nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, - "node_modules/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/node-abi": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz", - "integrity": "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==", - "dev": true, - "dependencies": { - "semver": "^5.4.1" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", - "dev": true, - "dependencies": { - "lodash.toarray": "^4.4.0" - } - }, - "node_modules/node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true, - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", - "dev": true, - "dependencies": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/node-gyp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", - "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.1.2", - "request": "^2.88.0", - "rimraf": "^2.6.3", - "semver": "^5.7.1", - "tar": "^4.4.12", - "which": "^1.3.1" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-gyp/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/node-libs-browser/node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/node-libs-browser/node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/node-libs-browser/node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - } - }, - "node_modules/node-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/node-notifier/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/node-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - }, - "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" - }, - "node_modules/noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", - "dev": true - }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npm-lifecycle": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", - "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==", - "dev": true, - "dependencies": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.15", - "node-gyp": "^5.0.2", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.1" - } - }, - "node_modules/npm-lifecycle/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "node_modules/npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dependencies": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "node_modules/npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dev": true, - "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "node_modules/npm-registry-client": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz", - "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==", - "dependencies": { - "concat-stream": "^1.5.2", - "graceful-fs": "^4.1.6", - "normalize-package-data": "~1.0.1 || ^2.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", - "once": "^1.3.3", - "request": "^2.74.0", - "retry": "^0.10.0", - "safe-buffer": "^5.1.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5", - "slide": "^1.1.3", - "ssri": "^5.2.4" - }, - "optionalDependencies": { - "npmlog": "2 || ^3.1.0 || ^4.0.0" - } - }, - "node_modules/npm-registry-client/node_modules/ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "devOptional": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "node_modules/nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/octokit-pagination-methods": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", - "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", - "dev": true, - "dependencies": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", - "dev": true, - "dependencies": { - "p-reduce": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-queue": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-4.0.0.tgz", - "integrity": "sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==", - "dev": true, - "dependencies": { - "eventemitter3": "^3.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-queue/node_modules/eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", - "dev": true - }, - "node_modules/p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-waterfall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-1.0.0.tgz", - "integrity": "sha1-ftlLPOszMngjU69qrhGqn8I1uwA=", - "dev": true, - "dependencies": { - "p-reduce": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "dev": true, - "dependencies": { - "path-platform": "~0.11.15" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, - "node_modules/parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" - }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-path": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", - "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", - "dev": true, - "dependencies": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0", - "qs": "^6.9.4", - "query-string": "^6.13.8" - } - }, - "node_modules/parse-path/node_modules/qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/parse-path/node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "dev": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-path/node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.2.tgz", - "integrity": "sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA==", - "dev": true, - "dependencies": { - "is-ssh": "^1.3.0", - "normalize-url": "^3.3.0", - "parse-path": "^4.0.0", - "protocols": "^1.4.0" - } - }, - "node_modules/parse-url/node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "node_modules/parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/parsimmon": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.0.tgz", - "integrity": "sha512-EtVsGuQfDgwGgXzsSDe+5egRPwbcgKRd/omQ1L3Oj2pHy0gYqd+Q7zrBIQ7P/BN6DWUP9vV45HIgZHCmssdzMg==" - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-type/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prebuild-install": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", - "integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==", - "dev": true, - "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prebuild-install/node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dev": true, - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prebuild-install/node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/prebuild-install/node_modules/simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", - "dev": true, - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/pretty-format/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/prettycli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/prettycli/-/prettycli-1.4.3.tgz", - "integrity": "sha512-KLiwAXXfSWXZqGmZlnKPuGMTFp+0QbcySplL1ft9gfteT/BNsG64Xo8u2Qr9r+qnsIZWBQ66Zs8tg+8s2fmzvw==", - "dev": true, - "dependencies": { - "chalk": "2.1.0" - } - }, - "node_modules/prettycli/node_modules/chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prettycli/node_modules/has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prettycli/node_modules/supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "dependencies": { - "has-flag": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", - "bin": { - "printj": "bin/printj.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, - "dependencies": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/promzard": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", - "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", - "dev": true, - "dependencies": { - "read": "1" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "node_modules/protocols": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", - "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", - "dev": true - }, - "node_modules/protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, - "dependencies": { - "genfun": "^5.0.0" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "engines": { - "node": ">=0.9" - } - }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "dependencies": { - "mute-stream": "~0.0.4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/read-cmd-shim": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz", - "integrity": "sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2" - } - }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/read-package-json": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", - "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", - "dev": true, - "dependencies": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, - "node_modules/read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", - "dev": true, - "dependencies": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" - } - }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "dev": true, - "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-dir/node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "engines": { - "node": "*" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", - "dependencies": { - "bn.js": "^4.11.1" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sandboxed-module": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-2.0.4.tgz", - "integrity": "sha512-AwEPOdO8mg/wJjr876yCHP2DHqVN0MaggEXhp6IIf3bcI5cYoQl9QrrCHSrvToHjvdEiS5x4TVZRgjD2bEmNTA==", - "dev": true, - "dependencies": { - "require-like": "0.1.2", - "stack-trace": "0.0.9" - } - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", - "dev": true, - "dependencies": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "node_modules/shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "dependencies": { - "fast-safe-stringify": "^2.0.7" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "node_modules/shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", - "dev": true, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "optional": true - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "engines": { - "node": "*" - } - }, - "node_modules/smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/socket.io": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", - "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", - "dev": true, - "dependencies": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true - }, - "node_modules/socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", - "dev": true, - "dependencies": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - } - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/socket.io-client/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/socket.io-client/node_modules/socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", - "dev": true, - "dependencies": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - }, - "node_modules/socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", - "dev": true, - "dependencies": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" - } - }, - "node_modules/socket.io-parser/node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "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)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/socket.io-parser/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "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)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, - "dependencies": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - }, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "dev": true, - "dependencies": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "dependencies": { - "es6-promisify": "^5.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "dependencies": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - }, - "bin": { - "solcjs": "solcjs" - } - }, - "node_modules/solc/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solc/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solc/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/solc/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "node_modules/solc/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/solc/node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "node_modules/solc/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solc/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solc/node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "node_modules/solc/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solc/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "node_modules/solc/node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dev": true, - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "node_modules/solc/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dev": true, - "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, - "node_modules/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - }, - "node_modules/spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", - "dev": true, - "dependencies": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - } - }, - "node_modules/spawn-wrap/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/stack-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/streamroller": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", - "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", - "dev": true, - "dependencies": { - "date-format": "^2.1.0", - "debug": "^4.1.1", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/streamroller/node_modules/date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/streamroller/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/streamroller/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/streamroller/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", - "dev": true, - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "dev": true, - "dependencies": { - "minimist": "^1.1.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/swarm-js/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/swarm-js/node_modules/eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/swarm-js/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "dependencies": { - "acorn-node": "^1.2.0" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dependencies": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/temp-write": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz", - "integrity": "sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "is-stream": "^1.1.0", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/temp-write/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/temp-write/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "dependencies": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", - "dev": true - }, - "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" - }, - "node_modules/to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "jest": ">=26 <27", - "typescript": ">=3.8 <5.0" - } - }, - "node_modules/ts-jest/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "devOptional": true, - "dependencies": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tslint": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", - "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", - "dependencies": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "bin": { - "tslint": "bin/tslint" - }, - "engines": { - "node": ">=4.8.0" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev" - } - }, - "node_modules/tslint/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/tslint/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", - "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/uglify-js": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", - "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "node_modules/umask": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", - "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", - "dev": true - }, - "node_modules/umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true, - "bin": { - "umd": "bin/cli.js" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - }, - "bin": { - "undeclared-identifiers": "bin.js" - } - }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/universal-user-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", - "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", - "dev": true, - "dependencies": { - "os-name": "^3.1.0" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "engines": { - "node": ">= 4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/utf-8-validate": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.5.tgz", - "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", - "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "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.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dependencies": { - "builtins": "^1.0.3" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wait-port": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.9.tgz", - "integrity": "sha512-hQ/cVKsNqGZ/UbZB/oakOGFqic00YAMM5/PEj3Bt4vKarv2jWIWzDbqlwT94qMs/exAQAsvMOq99sZblV92zxQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "commander": "^3.0.2", - "debug": "^4.1.1" - }, - "bin": { - "wait-port": "bin/wait-port.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wait-port/node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true - }, - "node_modules/wait-port/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/wait-port/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web3": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.6-rc.2.tgz", - "integrity": "sha512-rmubMF9NCV/bkSbdMG3MgI5adF/K3k9+W1WuXyVAO5NKtmSdgW+MHJgBeNqjX3ejUTnpmT4xF8Fu8DrkMvKaHA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.3.6-rc.2", - "web3-core": "1.3.6-rc.2", - "web3-eth": "1.3.6-rc.2", - "web3-eth-personal": "1.3.6-rc.2", - "web3-net": "1.3.6-rc.2", - "web3-shh": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.6-rc.2.tgz", - "integrity": "sha512-fzGLo/V4dbwFHKZjfW63r5HxLrP1N9yXOa3bZ40YryKPFmPy/2bMl7Vv1errzg/gTWJ6scD9TXkC185lrFtqHg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.12.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.6-rc.2.tgz", - "integrity": "sha512-KjtgdSe+9ihybTvZHtZGq5jCaXSfhWtqyflmnL8olJP8NH33KjD4X+SB7Z5UXwN693Kxf+vXPbvMPrWXkwukqg==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-core-requestmanager": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.6-rc.2.tgz", - "integrity": "sha512-t80VRXVyAYWXa4hg0N+i4pzX44ieCjVKIDCemy7orLbo9O7BmxQbgy62mEUliU+Avg6BgV9RVxvKFz+WTyHyrg==", - "dev": true, - "dependencies": { - "underscore": "1.12.1", - "web3-eth-iban": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.6-rc.2.tgz", - "integrity": "sha512-lPYRpexf06SRPipL9bjlZ1J8YgDprnFIGIB0AmgD+qQosdresyqSkllZSkUkM0YKqTH5ZJK9E6pkaUN/dSJFtA==", - "dev": true, - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-promievent": "1.3.6-rc.2", - "web3-core-subscriptions": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.6-rc.2.tgz", - "integrity": "sha512-7u6jUVT9UdzWlX+JgKEwoTunsiWLyXdbS6CJm89dbrPyTbtGozvfH/R+q7J39R8A1f9A75QE31VGtoO5FK+GRQ==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-requestmanager": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6-rc.2.tgz", - "integrity": "sha512-gvhqnz1idIlMKKd5q5XS50k0wUMYhdWs8KpcFTte2sw11p5/0CCAuuqc09vTQXlQ/B8DinKQQEFb0eNZNcm3bA==", - "dev": true, - "dependencies": { - "underscore": "1.12.1", - "util": "^0.12.0", - "web3-core-helpers": "1.3.6-rc.2", - "web3-providers-http": "1.3.6-rc.2", - "web3-providers-ipc": "1.3.6-rc.2", - "web3-providers-ws": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6-rc.2.tgz", - "integrity": "sha512-iYP8L60qx/qkiG9SK25CYOhOSrV+Z33HkkyPQ6I7T7N4sZmhQSReXnAZ6I7aCrziokzSHVfyBazFDEK1kHi+lw==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.6-rc.2.tgz", - "integrity": "sha512-p2NIj4lFAWJR+0PrH9Q6NeKsjmlmNBXISHru9fTUcODYyUO9tyrUr2uRso3j3Pki9pOx1sN/cFdVLgZ83+USDg==", - "dev": true, - "dependencies": { - "underscore": "1.12.1", - "web3-core": "1.3.6-rc.2", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-core-subscriptions": "1.3.6-rc.2", - "web3-eth-abi": "1.3.6-rc.2", - "web3-eth-accounts": "1.3.6-rc.2", - "web3-eth-contract": "1.3.6-rc.2", - "web3-eth-ens": "1.3.6-rc.2", - "web3-eth-iban": "1.3.6-rc.2", - "web3-eth-personal": "1.3.6-rc.2", - "web3-net": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.6-rc.2.tgz", - "integrity": "sha512-rZiEOP3VWpkOuEKJMNw5/3fVtMX5BIi3Z2NLmrUeDKwOWQCqmVQe5Lt7qdhIYyLf68gDY7zsu1n4JmZeilPm7g==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.6-rc.2.tgz", - "integrity": "sha512-PDQEWjtiZGuDocYV7GiB2A2VXYIURgHVDjUbTH1i1MEXRY+eWFaqv3TWH8XcvGVwE86dz0CVT6O7DdH/ufBOTw==", - "dev": true, - "dependencies": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.12.1", - "uuid": "3.3.2", - "web3-core": "1.3.6-rc.2", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.6-rc.2.tgz", - "integrity": "sha512-Ves9TVVzPVXyQjP4iBMsXTF54PB+cMn4FFHiBQWXd2TwPYvScq+dDLNuowyHZINVJE3ZWU+NcRlMu0+73GQJug==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "underscore": "1.12.1", - "web3-core": "1.3.6-rc.2", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-core-promievent": "1.3.6-rc.2", - "web3-core-subscriptions": "1.3.6-rc.2", - "web3-eth-abi": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.6-rc.2.tgz", - "integrity": "sha512-UdDhzdcDfSRkBDQyOmfBHg2RLykW4qRo0SXp38QdxZoeFrTeBw1M8UQEtpSktwEi+AcolPbf7yQq6k0fX0VN+w==", - "dev": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.12.1", - "web3-core": "1.3.6-rc.2", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-promievent": "1.3.6-rc.2", - "web3-eth-abi": "1.3.6-rc.2", - "web3-eth-contract": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.6-rc.2.tgz", - "integrity": "sha512-CCUGuK9ksQxZbeDjbVNgsIZc0iNtlwsvDHBUomaRl/1XU2PBCdwSnm0+foUJT9zSnyO1QOoSnbiQggr1jQZQrQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.6-rc.2.tgz", - "integrity": "sha512-dryMgMQwM7tdgV2uV4V3fCbJ+ZqvsW+6I1vc90eGptl4lAaoHbS5WTeI0dkgIOBN6Y8WW/JRy5SMN1D4A4r6mw==", - "dev": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.3.6-rc.2", - "web3-core-helpers": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-net": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.6-rc.2.tgz", - "integrity": "sha512-nyQUlCEsg22+rfjtQ3H3W1Ubxp/GgjLnOZ/ZzSG+QHPMNp4wbgQMRmUXdceA/pxaaZNkEeg3khXQSwpQZ9xvAQ==", - "dev": true, - "dependencies": { - "web3-core": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-utils": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-http": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.6-rc.2.tgz", - "integrity": "sha512-zf9VbJw9xnVBzJ2vwitycJ/5ONbgZ93bJK3izqUvbNAZxPNY0ChCSpl5OzKG8aQS9xDloHoiYIzMna4r87L8hA==", - "dev": true, - "dependencies": { - "web3-core-helpers": "1.3.6-rc.2", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ipc": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.6-rc.2.tgz", - "integrity": "sha512-eiUvHABOyANv7W5QkuKngKTXUIE8DlEgg8W5OGddfc2ATNt7u6qVBFnWMIS3LsM5Y+fDudjZ6xMpw1R2Etv1YQ==", - "dev": true, - "dependencies": { - "oboe": "2.1.5", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.6-rc.2.tgz", - "integrity": "sha512-0dGRNmld5ZVJnJJabq1L5P/nkYekOI1o3NZDPvDlOwLS4uiwEUAhwPSilf1vbvEBsaNnP7JewGJ1bLRjXHmSwg==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6-rc.2", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-shh": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.6-rc.2.tgz", - "integrity": "sha512-lak/fqbCc7ApWvr9xU8BBrPcEwQEUkGbRfjPFuADNea9tWdxrQfJUq1P6cEE2JDL79iMyOhe8fbBjXRqhTuQGw==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-core": "1.3.6-rc.2", - "web3-core-method": "1.3.6-rc.2", - "web3-core-subscriptions": "1.3.6-rc.2", - "web3-net": "1.3.6-rc.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.3.6-rc.2", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6-rc.2.tgz", - "integrity": "sha512-mH+QMuVrwVWOonRAa1HGD4lyMBMfdWryklUURdEZzPWKoKZNipAokbMkJw9a3xaCPOjCr58kX8wfb+z+jBabGA==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.12.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", - "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.1", - "findup-sync": "^3.0.0", - "global-modules": "^2.0.0", - "import-local": "^2.0.0", - "interpret": "^1.4.0", - "loader-utils": "^1.4.0", - "supports-color": "^6.1.0", - "v8-compile-cache": "^2.1.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "peerDependencies": { - "webpack": "4.x.x" - } - }, - "node_modules/webpack-cli/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "devOptional": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "devOptional": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "devOptional": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true, - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/windows-release": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", - "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", - "dev": true, - "dependencies": { - "execa": "^1.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", - "dev": true, - "dependencies": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/write-pkg": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", - "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", - "dev": true, - "dependencies": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-pkg/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-pkg/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-pkg/node_modules/write-json-file": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", - "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", - "dev": true, - "dependencies": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dependencies": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "node_modules/xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dependencies": { - "xhr-request": "^1.1.0" - } - }, - "node_modules/xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "dependencies": { - "cookiejar": "^2.1.1" - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xmlhttprequest-ssl": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.2.tgz", - "integrity": "sha512-tYOaldF/0BLfKuoA39QMwD4j2m8lq4DIncqj1yuNELX4vz9+z/ieG/vwmctjJce+boFHXstqhWnHSxc4W8f4qg==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true, - "engines": { - "node": ">=6" - } - } - }, - "dependencies": { - "@assemblyscript/loader": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.9.4.tgz", - "integrity": "sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==" - }, - "@babel/cli": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.16.tgz", - "integrity": "sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==", - "dev": true, - "requires": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - } - }, - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==" - }, - "@babel/core": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.2.tgz", - "integrity": "sha512-OgC1mON+l4U4B4wiohJlQNUU3H73mpTyYY3j/c8U9dr9UagGGSm+WFpzjy/YLdoyjiG++c1kIDgxCo/mLwQJeQ==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.2", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.2", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.2.tgz", - "integrity": "sha512-OnADYbKrffDVai5qcpkMxQ7caomHOoEwjkouqnN2QhydAjowFAZcsdecFIRUBdb+ZcruwYE4ythYmF1UBZU5xQ==", - "requires": { - "@babel/types": "^7.14.2", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", - "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.2.tgz", - "integrity": "sha512-6YctwVsmlkchxfGUogvVrrhzyD3grFJyluj5JgDlQrwfMLJSt5tdAzFZfPf4H2Xoi5YLcQ6BxfJlaOBHuctyIw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-function-name": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", - "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.14.2" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", - "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" - }, - "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" - }, - "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helpers": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", - "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" - } - }, - "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.2.tgz", - "integrity": "sha512-IoVDIHpsgE/fu7eXBeRWt8zLbDrSvD7H1gpomOkPpBoEN8KCruCqSDdqo8dddwQQrui30KSvQBaMUOJiuFu6QQ==" - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz", - "integrity": "sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", - "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-class-static-block": "^7.12.13" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz", - "integrity": "sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz", - "integrity": "sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz", - "integrity": "sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz", - "integrity": "sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz", - "integrity": "sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz", - "integrity": "sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", - "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.2" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz", - "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz", - "integrity": "sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-create-class-features-plugin": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", - "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", - "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", - "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", - "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz", - "integrity": "sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", - "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.13.12", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", - "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz", - "integrity": "sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.2.tgz", - "integrity": "sha512-LyA2AiPkaYzI7G5e2YI4NCasTfFe7mZvlupNprDOB7CdNUHb2DQC4uV6oeZ0396gOcicUzUCh0MShL6wiUgk+Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz", - "integrity": "sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-typescript": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.14.2", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.14.2", - "@babel/plugin-proposal-export-namespace-from": "^7.14.2", - "@babel/plugin-proposal-json-strings": "^7.14.2", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", - "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", - "@babel/plugin-proposal-optional-chaining": "^7.14.2", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.14.2", - "@babel/plugin-transform-classes": "^7.14.2", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.14.2", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.14.2", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.2", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", - "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-transform-typescript": "^7.13.0" - } - }, - "@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", - "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.2", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.2", - "@babel/types": "^7.14.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", - "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@chainsafe/as-sha256": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.2.2.tgz", - "integrity": "sha512-4WGW1e1/+sFFdFozjuYIrrb7nw0kZHFNWs9k5YNhy8N9p0QfH6FUXlPyoHcrRJfROZ6Gy7MnmOoyPyMZfzw/+Q==", - "requires": { - "@assemblyscript/loader": "^0.9.2", - "buffer": "^5.4.3" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "@chainsafe/geth-dev-assistant": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@chainsafe/geth-dev-assistant/-/geth-dev-assistant-0.1.10.tgz", - "integrity": "sha512-tlJi2qWYI0SQZnhh0KmYJXEDrm1MMmDziT0a1l8FJjY15mZ0iy2OMr/v0HoRdnEclWkoADDmotwUDgEwPLyemw==", - "dev": true, - "requires": { - "colors": "^1.3.3", - "node-emoji": "^1.10.0", - "web3": "1.3.6-rc.2", - "yargs": "^13.2.2" - } - }, - "@chainsafe/lodestar-params": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@chainsafe/lodestar-params/-/lodestar-params-0.13.0.tgz", - "integrity": "sha512-rd88F8fy3CE4UGUhf33xLZXdfwFiSdKX7omSISiI9YFluCU7yh0BZEtST4EmGd+v8wMm44i/R6CBOXVxf7eDoA==", - "requires": { - "@chainsafe/ssz": "^0.6.13", - "@types/js-yaml": "^3.12.2", - "axios": "^0.21.0", - "js-yaml": "^3.13.1" - } - }, - "@chainsafe/lodestar-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@chainsafe/lodestar-types/-/lodestar-types-0.13.0.tgz", - "integrity": "sha512-+CJiK0ArS2XRoQQ9tvIup6L4cjfadfX4MInWvEkl9SENCDtNjI0LYspIJNDfNZcz+2lMZ/ZpxNw92YrG8mbMpw==", - "requires": { - "@chainsafe/lodestar-params": "^0.13.0", - "@chainsafe/ssz": "^0.6.13" - } - }, - "@chainsafe/persistent-merkle-tree": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.2.3.tgz", - "integrity": "sha512-Cgqh1taB9ItxFHhcK4xg+Sna+qHTyey79BI1869scJS0VlA6xL0Vga2FcYGYW2t4FZ4o54zjCwGGS/0ZZxD4Lw==", - "requires": { - "@chainsafe/as-sha256": "^0.2.0" - } - }, - "@chainsafe/ssz": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.6.13.tgz", - "integrity": "sha512-pKb1nlIRD3YvVlgbgB5kir+H2tu1pUhiZd9SIrwUr3xq/vQvoYcs3z+DBrhl1WtW5zwQorxgMe/1pnXp7raLtA==", - "requires": { - "@chainsafe/as-sha256": "^0.2.0", - "@chainsafe/persistent-merkle-tree": "^0.2.1", - "case": "^1.6.3" - } - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@definitelytyped/header-parser": { - "version": "0.0.85", - "resolved": "https://registry.npmjs.org/@definitelytyped/header-parser/-/header-parser-0.0.85.tgz", - "integrity": "sha512-fH37Yt5VjBKFu/2rFzn6xrjkASaIEqjED77V7vxb8JFCalTvGhiPpTrWzfp2EjK0Lhd8bkCZhRpYoW8GKatcdA==", - "requires": { - "@definitelytyped/typescript-versions": "^0.0.85", - "@types/parsimmon": "^1.10.1", - "parsimmon": "^1.13.0" - } - }, - "@definitelytyped/typescript-versions": { - "version": "0.0.85", - "resolved": "https://registry.npmjs.org/@definitelytyped/typescript-versions/-/typescript-versions-0.0.85.tgz", - "integrity": "sha512-+yHqi887UMZ4TlLBkA2QcYNP/EZSKGKSAFJtSWY6J5DiBQq3k0yLN1yTfbLonQ52IBenI1iJo/4ePr5A3co5ZQ==" - }, - "@definitelytyped/utils": { - "version": "0.0.85", - "resolved": "https://registry.npmjs.org/@definitelytyped/utils/-/utils-0.0.85.tgz", - "integrity": "sha512-GHfMwIroQf3jrvps3a0rClpm5thyHajXGkMUTk4tJ4ew5I53wCnJSPMwlknsFD70F7a1hNDJGySu0PRg4px32Q==", - "requires": { - "@definitelytyped/typescript-versions": "^0.0.85", - "@types/node": "^14.14.35", - "charm": "^1.0.2", - "fs-extra": "^8.1.0", - "fstream": "^1.0.12", - "npm-registry-client": "^8.6.0", - "tar": "^2.2.2", - "tar-stream": "^2.1.4" - }, - "dependencies": { - "@types/node": { - "version": "14.17.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.6.tgz", - "integrity": "sha512-iBxsxU7eswQDGhlr3AiamBxOssaYxbM+NKXVil8jg9yFXvrfEFbDumLD/2dMTB+zYyg7w+Xjt8yuxfdbUHAtcQ==" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - } - } - }, - "@ensdomains/ens": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.6.0.tgz", - "integrity": "sha512-eeRPEPtKGNySPsObrAc3+Xxgw+vSl9C6zUptlxIMi7TlPXYS11Zqd7g3PnHzxvMieWj6dztbH07UdDo/zCqMqQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1" - } - }, - "@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "dev": true - }, - "@ethereumjs/common": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.4.0.tgz", - "integrity": "sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w==", - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.0" - } - }, - "@ethereumjs/tx": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.0.tgz", - "integrity": "sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA==", - "requires": { - "@ethereumjs/common": "^2.4.0", - "ethereumjs-util": "^7.1.0" - } - }, - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz", - "integrity": "sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ==", - "requires": { - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/networks": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/web": "^5.1.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz", - "integrity": "sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w==", - "requires": { - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0" - } - }, - "@ethersproject/address": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.1.0.tgz", - "integrity": "sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg==", - "requires": { - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/rlp": "^5.1.0" - } - }, - "@ethersproject/base64": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.1.0.tgz", - "integrity": "sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g==", - "requires": { - "@ethersproject/bytes": "^5.1.0" - } - }, - "@ethersproject/basex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.1.0.tgz", - "integrity": "sha512-vBKr39bum7DDbOvkr1Sj19bRMEPA4FnST6Utt6xhDzI7o7L6QNkDn2yrCfP+hnvJGhZFKtLygWwqlTBZoBXYLg==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/properties": "^5.1.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.1.1.tgz", - "integrity": "sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig==", - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "bn.js": "^4.4.0" - } - }, - "@ethersproject/bytes": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.1.0.tgz", - "integrity": "sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g==", - "requires": { - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/constants": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.1.0.tgz", - "integrity": "sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw==", - "requires": { - "@ethersproject/bignumber": "^5.1.0" - } - }, - "@ethersproject/contracts": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.1.1.tgz", - "integrity": "sha512-6WwktLJ0DFWU8pDkgH4IGttQHhQN4SnwKFu9h+QYVe48VGWtbDu4W8/q/7QA1u/HWlWMrKxqawPiZUJj0UMvOw==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.1.0", - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/transactions": "^5.1.0" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz", - "integrity": "sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - } - } - }, - "@ethersproject/hash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.1.0.tgz", - "integrity": "sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ==", - "requires": { - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.1.0.tgz", - "integrity": "sha512-obIWdlujloExPHWJGmhJO/sETOOo7SEb6qemV4f8kyFoXg+cJK+Ta9SvBrj7hsUK85n3LZeZJZRjjM7oez3Clg==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/basex": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/pbkdf2": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/sha2": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/wordlists": "^5.1.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz", - "integrity": "sha512-00n2iBy27w8zrGZSiU762UOVuzCQZxUZxopsZC47++js6xUFuI74DHcJ5K/2pddlF1YBskvmMuboEu1geK8mnA==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/hdnode": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/pbkdf2": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/random": "^5.1.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.1.0.tgz", - "integrity": "sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig==", - "requires": { - "@ethersproject/bytes": "^5.1.0", - "js-sha3": "0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - }, - "@ethersproject/logger": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz", - "integrity": "sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==" - }, - "@ethersproject/networks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.1.0.tgz", - "integrity": "sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA==", - "requires": { - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz", - "integrity": "sha512-B8cUbHHTgs8OtgJIafrRcz/YPDobVd5Ru8gTnShOiM9EBuFpYHQpq3+8iQJ6pyczDu6HP/oc/njAsIBhwFZYew==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/sha2": "^5.1.0" - } - }, - "@ethersproject/properties": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz", - "integrity": "sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==", - "requires": { - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/providers": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.1.2.tgz", - "integrity": "sha512-GqsS8rd+eyd4eNkcNgzZ4l9IRULBPUZa7JPnv22k4MHflMobUseyhfbVnmoN5bVNNkOxjV1IPTw9i0sV1hwdpg==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/basex": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/networks": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/random": "^5.1.0", - "@ethersproject/rlp": "^5.1.0", - "@ethersproject/sha2": "^5.1.0", - "@ethersproject/strings": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/web": "^5.1.0", - "bech32": "1.1.4", - "ws": "7.2.3" - }, - "dependencies": { - "ws": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", - "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", - "dev": true, - "requires": {} - } - } - }, - "@ethersproject/random": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.1.0.tgz", - "integrity": "sha512-+uuczLQZ4+no9cP6TCoCktXx0u2YbNaRT7lRkSt12d8263e702f0u+4JnnRO8Qmv5nylWJebnqCHzyxP+6mLqw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/rlp": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.1.0.tgz", - "integrity": "sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw==", - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/sha2": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.1.0.tgz", - "integrity": "sha512-+fNSeZRstOpdRJpdGUkRONFCaiAqWkc91zXgg76Nlp5ndBQE25Kk5yK8gCPG1aGnCrbariiPr5j9DmrYH78JCA==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "hash.js": "1.1.3" - }, - "dependencies": { - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - } - } - }, - "@ethersproject/signing-key": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz", - "integrity": "sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==", - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "bn.js": "^4.4.0", - "elliptic": "6.5.4" - } - }, - "@ethersproject/solidity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.1.0.tgz", - "integrity": "sha512-kPodsGyo9zg1g9XSXp1lGhFaezBAUUsAUB1Vf6OkppE5Wksg4Et+x3kG4m7J/uShDMP2upkJtHNsIBK2XkVpKQ==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/sha2": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "@ethersproject/strings": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.1.0.tgz", - "integrity": "sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw==", - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/transactions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.1.1.tgz", - "integrity": "sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw==", - "requires": { - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/rlp": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0" - } - }, - "@ethersproject/units": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.1.0.tgz", - "integrity": "sha512-isvJrx6qG0nKWfxsGORNjmOq/nh175fStfvRTA2xEKrGqx8JNJY83fswu4GkILowfriEM/eYpretfJnfzi7YhA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/logger": "^5.1.0" - } - }, - "@ethersproject/wallet": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.1.0.tgz", - "integrity": "sha512-ULmUtiYQLTUS+y3DgkLzRhFEK10zMwmjOthnjiZxee3Q/MVwr3rnmuAnXIUZrPjna6hvUPnyRIdW5XuF0Ld0YQ==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.1.0", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/hdnode": "^5.1.0", - "@ethersproject/json-wallets": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/random": "^5.1.0", - "@ethersproject/signing-key": "^5.1.0", - "@ethersproject/transactions": "^5.1.0", - "@ethersproject/wordlists": "^5.1.0" - } - }, - "@ethersproject/web": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.1.0.tgz", - "integrity": "sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA==", - "requires": { - "@ethersproject/base64": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.1.0.tgz", - "integrity": "sha512-NsUCi/TpBb+oTFvMSccUkJGtp5o/84eOyqp5q5aBeiNBSLkYyw21znRn9mAmxZgySpxgruVgKbaapnYPgvctPQ==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" - } - }, - "@evocateur/libnpmaccess": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", - "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - } - } - }, - "@evocateur/libnpmpublish": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", - "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - } - } - }, - "@evocateur/npm-registry-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "JSONStream": "^1.3.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.1.2" - } - }, - "@evocateur/pacote": { - "version": "9.6.5", - "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", - "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "bluebird": "^3.5.3", - "cacache": "^12.0.3", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.5.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.4.4", - "npm-pick-manifest": "^3.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.3", - "safe-buffer": "^5.2.0", - "semver": "^5.7.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - } - }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - } - }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - } - }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@lerna/add": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", - "integrity": "sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A==", - "dev": true, - "requires": { - "@evocateur/pacote": "^9.6.3", - "@lerna/bootstrap": "3.21.0", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "npm-package-arg": "^6.1.0", - "p-map": "^2.1.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/bootstrap": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.21.0.tgz", - "integrity": "sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/has-npm-version": "3.16.5", - "@lerna/npm-install": "3.16.5", - "@lerna/package-graph": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/rimraf-dir": "3.16.5", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/symlink-binary": "3.17.0", - "@lerna/symlink-dependencies": "3.17.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "get-port": "^4.2.0", - "multimatch": "^3.0.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0", - "p-waterfall": "^1.0.0", - "read-package-tree": "^5.1.6", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/changed": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.21.0.tgz", - "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", - "dev": true, - "requires": { - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/listable": "3.18.5", - "@lerna/output": "3.13.0" - } - }, - "@lerna/check-working-tree": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz", - "integrity": "sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==", - "dev": true, - "requires": { - "@lerna/collect-uncommitted": "3.16.5", - "@lerna/describe-ref": "3.16.5", - "@lerna/validation-error": "3.13.0" - } - }, - "@lerna/child-process": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz", - "integrity": "sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==", - "dev": true, - "requires": { - "chalk": "^2.3.1", - "execa": "^1.0.0", - "strong-log-transformer": "^2.0.0" - } - }, - "@lerna/clean": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.21.0.tgz", - "integrity": "sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/rimraf-dir": "3.16.5", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0", - "p-waterfall": "^1.0.0" - } - }, - "@lerna/cli": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz", - "integrity": "sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==", - "dev": true, - "requires": { - "@lerna/global-options": "3.13.0", - "dedent": "^0.7.0", - "npmlog": "^4.1.2", - "yargs": "^14.2.2" - }, - "dependencies": { - "yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" - } - }, - "yargs-parser": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", - "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "@lerna/collect-uncommitted": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz", - "integrity": "sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "chalk": "^2.3.1", - "figgy-pudding": "^3.5.1", - "npmlog": "^4.1.2" - } - }, - "@lerna/collect-updates": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.20.0.tgz", - "integrity": "sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/describe-ref": "3.16.5", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "slash": "^2.0.0" - } - }, - "@lerna/command": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.21.0.tgz", - "integrity": "sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/package-graph": "3.18.5", - "@lerna/project": "3.21.0", - "@lerna/validation-error": "3.13.0", - "@lerna/write-log-file": "3.13.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^1.0.0", - "is-ci": "^2.0.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/conventional-commits": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz", - "integrity": "sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA==", - "dev": true, - "requires": { - "@lerna/validation-error": "3.13.0", - "conventional-changelog-angular": "^5.0.3", - "conventional-changelog-core": "^3.1.6", - "conventional-recommended-bump": "^5.0.0", - "fs-extra": "^8.1.0", - "get-stream": "^4.0.0", - "lodash.template": "^4.5.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "pify": "^4.0.1", - "semver": "^6.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/create": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.22.0.tgz", - "integrity": "sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw==", - "dev": true, - "requires": { - "@evocateur/pacote": "^9.6.3", - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/validation-error": "3.13.0", - "camelcase": "^5.0.0", - "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "globby": "^9.2.0", - "init-package-json": "^1.10.3", - "npm-package-arg": "^6.1.0", - "p-reduce": "^1.0.0", - "pify": "^4.0.1", - "semver": "^6.2.0", - "slash": "^2.0.0", - "validate-npm-package-license": "^3.0.3", - "validate-npm-package-name": "^3.0.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/create-symlink": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz", - "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==", - "dev": true, - "requires": { - "@zkochan/cmd-shim": "^3.1.0", - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/describe-ref": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", - "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2" - } - }, - "@lerna/diff": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", - "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/validation-error": "3.13.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/exec": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", - "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" - } - }, - "@lerna/filter-options": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.20.0.tgz", - "integrity": "sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g==", - "dev": true, - "requires": { - "@lerna/collect-updates": "3.20.0", - "@lerna/filter-packages": "3.18.0", - "dedent": "^0.7.0", - "figgy-pudding": "^3.5.1", - "npmlog": "^4.1.2" - } - }, - "@lerna/filter-packages": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz", - "integrity": "sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==", - "dev": true, - "requires": { - "@lerna/validation-error": "3.13.0", - "multimatch": "^3.0.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/get-npm-exec-opts": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz", - "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/get-packed": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz", - "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "ssri": "^6.0.1", - "tar": "^4.4.8" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/github-client": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.22.0.tgz", - "integrity": "sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^16.28.4", - "git-url-parse": "^11.1.2", - "npmlog": "^4.1.2" - } - }, - "@lerna/gitlab-client": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz", - "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==", - "dev": true, - "requires": { - "node-fetch": "^2.5.0", - "npmlog": "^4.1.2", - "whatwg-url": "^7.0.0" - } - }, - "@lerna/global-options": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz", - "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==", - "dev": true - }, - "@lerna/has-npm-version": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz", - "integrity": "sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/import": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.22.0.tgz", - "integrity": "sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "p-map-series": "^1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/info": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-3.21.0.tgz", - "integrity": "sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/output": "3.13.0", - "envinfo": "^7.3.1" - } - }, - "@lerna/init": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.21.0.tgz", - "integrity": "sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "fs-extra": "^8.1.0", - "p-map": "^2.1.0", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/link": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.21.0.tgz", - "integrity": "sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/package-graph": "3.18.5", - "@lerna/symlink-dependencies": "3.17.0", - "p-map": "^2.1.0", - "slash": "^2.0.0" - } - }, - "@lerna/list": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.21.0.tgz", - "integrity": "sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/listable": "3.18.5", - "@lerna/output": "3.13.0" - } - }, - "@lerna/listable": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz", - "integrity": "sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==", - "dev": true, - "requires": { - "@lerna/query-graph": "3.18.5", - "chalk": "^2.3.1", - "columnify": "^1.5.4" - } - }, - "@lerna/log-packed": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz", - "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==", - "dev": true, - "requires": { - "byte-size": "^5.0.1", - "columnify": "^1.5.4", - "has-unicode": "^2.0.1", - "npmlog": "^4.1.2" - } - }, - "@lerna/npm-conf": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz", - "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==", - "dev": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^4.0.1" - } - }, - "@lerna/npm-dist-tag": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz", - "integrity": "sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "@lerna/otplease": "3.18.5", - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/npm-install": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz", - "integrity": "sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/get-npm-exec-opts": "3.13.0", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "signal-exit": "^3.0.2", - "write-pkg": "^3.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/npm-publish": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz", - "integrity": "sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==", - "dev": true, - "requires": { - "@evocateur/libnpmpublish": "^1.2.2", - "@lerna/otplease": "3.18.5", - "@lerna/run-lifecycle": "3.16.2", - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "pify": "^4.0.1", - "read-package-json": "^2.0.13" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/npm-run-script": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz", - "integrity": "sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/get-npm-exec-opts": "3.13.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/otplease": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz", - "integrity": "sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==", - "dev": true, - "requires": { - "@lerna/prompt": "3.18.5", - "figgy-pudding": "^3.5.1" - } - }, - "@lerna/output": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz", - "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/pack-directory": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz", - "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==", - "dev": true, - "requires": { - "@lerna/get-packed": "3.16.0", - "@lerna/package": "3.16.0", - "@lerna/run-lifecycle": "3.16.2", - "figgy-pudding": "^3.5.1", - "npm-packlist": "^1.4.4", - "npmlog": "^4.1.2", - "tar": "^4.4.10", - "temp-write": "^3.4.0" - } - }, - "@lerna/package": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz", - "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==", - "dev": true, - "requires": { - "load-json-file": "^5.3.0", - "npm-package-arg": "^6.1.0", - "write-pkg": "^3.1.0" - }, - "dependencies": { - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "@lerna/package-graph": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz", - "integrity": "sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==", - "dev": true, - "requires": { - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/validation-error": "3.13.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/prerelease-id-from-version": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz", - "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==", - "dev": true, - "requires": { - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/profiler": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-3.20.0.tgz", - "integrity": "sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2", - "upath": "^1.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/project": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.21.0.tgz", - "integrity": "sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A==", - "dev": true, - "requires": { - "@lerna/package": "3.16.0", - "@lerna/validation-error": "3.13.0", - "cosmiconfig": "^5.1.0", - "dedent": "^0.7.0", - "dot-prop": "^4.2.0", - "glob-parent": "^5.0.0", - "globby": "^9.2.0", - "load-json-file": "^5.3.0", - "npmlog": "^4.1.2", - "p-map": "^2.1.0", - "resolve-from": "^4.0.0", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "@lerna/prompt": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", - "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", - "dev": true, - "requires": { - "inquirer": "^6.2.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/publish": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.22.1.tgz", - "integrity": "sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw==", - "dev": true, - "requires": { - "@evocateur/libnpmaccess": "^3.1.2", - "@evocateur/npm-registry-fetch": "^4.0.0", - "@evocateur/pacote": "^9.6.3", - "@lerna/check-working-tree": "3.16.5", - "@lerna/child-process": "3.16.5", - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/describe-ref": "3.16.5", - "@lerna/log-packed": "3.16.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/npm-dist-tag": "3.18.5", - "@lerna/npm-publish": "3.18.5", - "@lerna/otplease": "3.18.5", - "@lerna/output": "3.13.0", - "@lerna/pack-directory": "3.16.4", - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "@lerna/version": "3.22.1", - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-pipe": "^1.2.0", - "semver": "^6.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@lerna/pulse-till-done": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz", - "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/query-graph": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz", - "integrity": "sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==", - "dev": true, - "requires": { - "@lerna/package-graph": "3.18.5", - "figgy-pudding": "^3.5.1" - } - }, - "@lerna/resolve-symlink": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz", - "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2", - "read-cmd-shim": "^1.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/rimraf-dir": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz", - "integrity": "sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2", - "path-exists": "^3.0.0", - "rimraf": "^2.6.2" - } - }, - "@lerna/run": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.21.0.tgz", - "integrity": "sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/npm-run-script": "3.16.5", - "@lerna/output": "3.13.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/timer": "3.13.0", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" - } - }, - "@lerna/run-lifecycle": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz", - "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==", - "dev": true, - "requires": { - "@lerna/npm-conf": "3.16.0", - "figgy-pudding": "^3.5.1", - "npm-lifecycle": "^3.1.2", - "npmlog": "^4.1.2" - } - }, - "@lerna/run-topologically": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz", - "integrity": "sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==", - "dev": true, - "requires": { - "@lerna/query-graph": "3.18.5", - "figgy-pudding": "^3.5.1", - "p-queue": "^4.0.0" - } - }, - "@lerna/symlink-binary": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz", - "integrity": "sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==", - "dev": true, - "requires": { - "@lerna/create-symlink": "3.16.2", - "@lerna/package": "3.16.0", - "fs-extra": "^8.1.0", - "p-map": "^2.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/symlink-dependencies": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz", - "integrity": "sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==", - "dev": true, - "requires": { - "@lerna/create-symlink": "3.16.2", - "@lerna/resolve-symlink": "3.16.0", - "@lerna/symlink-binary": "3.17.0", - "fs-extra": "^8.1.0", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/timer": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz", - "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==", - "dev": true - }, - "@lerna/validation-error": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz", - "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/version": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.22.1.tgz", - "integrity": "sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g==", - "dev": true, - "requires": { - "@lerna/check-working-tree": "3.16.5", - "@lerna/child-process": "3.16.5", - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/conventional-commits": "3.22.0", - "@lerna/github-client": "3.22.0", - "@lerna/gitlab-client": "3.15.0", - "@lerna/output": "3.13.0", - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/prompt": "3.18.5", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "chalk": "^2.3.1", - "dedent": "^0.7.0", - "load-json-file": "^5.3.0", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "p-map": "^2.1.0", - "p-pipe": "^1.2.0", - "p-reduce": "^1.0.0", - "p-waterfall": "^1.0.0", - "semver": "^6.2.0", - "slash": "^2.0.0", - "temp-write": "^3.4.0", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "@lerna/write-log-file": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz", - "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==", - "dev": true, - "requires": { - "npmlog": "^4.1.2", - "write-file-atomic": "^2.3.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", - "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3" - } - }, - "@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - } - } - }, - "@octokit/openapi-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", - "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==", - "dev": true - }, - "@octokit/plugin-enterprise-rest": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", - "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", - "dev": true - }, - "@octokit/plugin-paginate-rest": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", - "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1" - }, - "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - } - } - }, - "@octokit/plugin-request-log": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", - "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==", - "dev": true, - "requires": {} - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", - "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1", - "deprecation": "^2.3.1" - }, - "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - } - } - }, - "@octokit/request": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", - "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", - "dev": true, - "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - } - } - }, - "@octokit/request-error": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", - "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", - "dev": true, - "requires": { - "@types/node": ">= 8" - } - } - } - }, - "@octokit/rest": { - "version": "16.43.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", - "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", - "dev": true, - "requires": { - "@octokit/auth-token": "^2.4.0", - "@octokit/plugin-paginate-rest": "^1.1.1", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "2.4.0", - "@octokit/request": "^5.2.0", - "@octokit/request-error": "^1.0.2", - "atob-lite": "^2.0.0", - "before-after-hook": "^2.0.0", - "btoa-lite": "^1.0.0", - "deprecation": "^2.0.0", - "lodash.get": "^4.4.2", - "lodash.set": "^4.3.2", - "lodash.uniq": "^4.5.0", - "octokit-pagination-methods": "^1.1.0", - "once": "^1.4.0", - "universal-user-agent": "^4.0.0" - } - }, - "@octokit/types": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", - "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", - "dev": true, - "requires": { - "@octokit/openapi-types": "^7.0.0" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.15", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", - "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", - "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/bignumber.js": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-4.0.3.tgz", - "integrity": "sha512-KoJPKjhlWBry4fk8qcIufXFOU+zcZBfkHQWKbnAMQTMoe2GDeLpjSQHS+22gv+dg7gKdTP2WCjSeCVnfj8e+Gw==", - "dev": true - }, - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "@types/js-yaml": { - "version": "3.12.7", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz", - "integrity": "sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==" - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "@types/node": { - "version": "12.20.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.13.tgz", - "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==" - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" - }, - "@types/parsimmon": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.6.tgz", - "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==" - }, - "@types/secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-QMg+9v0bbNJ2peLuHRWxzmy0HRJIG6gFZNhaRSp7S3ggSbCCxiqQB2/ybvhXyhHOCequpNkrx7OavNhrWOsW0A==", - "requires": { - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/tapable": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", - "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", - "dev": true - }, - "@types/uglify-js": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack": { - "version": "4.41.28", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.28.tgz", - "integrity": "sha512-Nn84RAiJjKRfPFFCVR8LC4ueTtTdfWAMZ03THIzZWRJB+rX24BD3LqPSFnbMscWauEsT4segAsylPDIaZyZyLQ==", - "dev": true, - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@zkochan/cmd-shim": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz", - "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==", - "dev": true, - "requires": { - "is-windows": "^1.0.0", - "mkdirp-promise": "^5.0.1", - "mz": "^2.5.0" - } - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "devOptional": true - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "devOptional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-differ": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz", - "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "requires": { - "array-filter": "^1.0.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - } - } - }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "dev": true - }, - "before-after-hook": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", - "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "blakejs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", - "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" - }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "brotli-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.1.0.tgz", - "integrity": "sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "iltorb": "^2.4.3" - } - }, - "browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "dev": true, - "requires": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", - "dev": true, - "requires": { - "resolve": "^1.17.0" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserify": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", - "dev": true, - "requires": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "btoa-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", - "dev": true - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "requires": { - "node-gyp-build": "^4.2.0" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - }, - "bundlesize": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.1.tgz", - "integrity": "sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==", - "dev": true, - "requires": { - "axios": "^0.21.1", - "brotli-size": "0.1.0", - "bytes": "^3.1.0", - "ci-env": "^1.4.0", - "commander": "^2.20.0", - "cosmiconfig": "^5.2.1", - "github-build": "^1.2.2", - "glob": "^7.1.4", - "gzip-size": "^4.0.0", - "prettycli": "^1.4.3" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", - "dev": true - }, - "byte-size": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz", - "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - } - } - }, - "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", - "dev": true - }, - "caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", - "dev": true, - "requires": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "caniuse-lite": { - "version": "1.0.30001228", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", - "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==" - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "requires": { - "rsvp": "^4.8.4" - } - }, - "case": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", - "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "charm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", - "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", - "requires": { - "inherits": "^2.0.1" - } - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-env": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.16.0.tgz", - "integrity": "sha512-ucF9caQEX5wQlY449KZBIJPx91+kRg9tJ3tWSc4+KzrvC5KNiPm/3g1noP8VhdI3046+Vw3jLmKAD0fjCRJTmw==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", - "dev": true, - "requires": { - "@types/webpack": "^4.4.31", - "del": "^4.1.1" - } - }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "dev": true, - "requires": { - "exit": "0.1.2", - "glob": "^7.1.1" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "devOptional": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "columnify": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", - "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", - "dev": true, - "requires": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", - "dev": true, - "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - }, - "dependencies": { - "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", - "dev": true - } - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - }, - "dependencies": { - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - } - } - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "devOptional": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-core": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", - "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", - "dev": true, - "requires": { - "conventional-changelog-writer": "^4.0.6", - "conventional-commits-parser": "^3.0.3", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^2.0.3", - "lodash": "^4.2.1", - "normalize-package-data": "^2.3.5", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - } - } - }, - "conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true - }, - "conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - } - } - }, - "conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } - }, - "conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", - "dev": true, - "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - } - } - }, - "conventional-recommended-bump": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz", - "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.1.1", - "conventional-commits-filter": "^2.0.2", - "conventional-commits-parser": "^3.0.3", - "git-raw-commits": "2.0.0", - "git-semver-tags": "^2.0.3", - "meow": "^4.0.0", - "q": "^1.5.1" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true - } - } - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", - "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", - "dev": true - }, - "core-js-compat": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", - "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - } - }, - "crc-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", - "dev": true - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "dependencies": { - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - } - } - }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", - "dev": true - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true - }, - "decache": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.0.tgz", - "integrity": "sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==", - "dev": true, - "requires": { - "callsite": "^1.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "devOptional": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "dependency-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", - "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", - "dev": true, - "requires": { - "debug": "^4.0.0", - "detective": "^5.0.2", - "globby": "^10.0.1", - "is-relative": "^1.0.0", - "micromatch": "^4.0.2", - "minimist": "^1.2.0", - "pkg-up": "^3.1.0", - "read-package-json": "^2.0.10", - "resolve": "^1.1.7" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "requires": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - } - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", - "dev": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", - "dev": true, - "requires": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" - } - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - }, - "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - } - } - }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true - } - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "dts-critic": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/dts-critic/-/dts-critic-3.3.8.tgz", - "integrity": "sha512-7kBza3f+RV/3hVCQ9yIskkrC+49kzDDM7qogbBFgLQCiGOLmUhpjE9FSw2iOWLVyeLagRNj7SmxAhD2SizJ49w==", - "requires": { - "@definitelytyped/header-parser": "latest", - "command-exists": "^1.2.8", - "rimraf": "^3.0.2", - "semver": "^6.2.0", - "tmp": "^0.2.1", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { - "p-locate": "^4.1.0" + "locate-path": "^2.0.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true }, - "path-exists": { + "load-json-file": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "dtslint": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-3.7.0.tgz", - "integrity": "sha512-kVFV+zI2zwCUuwjLl2XVuIoSeLIqba6SmFlBKicwrlk1v0If+x6/cNm7UljSsqN5fJM/K2JJfd9NPPDVBXjjuA==", - "requires": { - "@definitelytyped/header-parser": "latest", - "@definitelytyped/typescript-versions": "latest", - "@definitelytyped/utils": "latest", - "dts-critic": "latest", - "fs-extra": "^6.0.1", - "json-stable-stringify": "^1.0.1", - "strip-json-comments": "^2.0.1", - "tslint": "5.14.0", - "yargs": "^15.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, "requires": { - "color-name": "~1.1.4" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, "requires": { - "jsonify": "~0.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-try": "^1.0.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^1.1.0" } }, - "path-exists": { + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "pify": "^3.0.0" } }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" } - } - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.727", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz", - "integrity": "sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg==" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + } + } }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "safe-buffer": "~5.1.1" } }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", + "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "iconv-lite": "^0.6.2" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" }, "dependencies": { - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "minimist": "^1.2.5" } } } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, - "engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "core-js": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", + "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", + "dev": true + }, + "core-js-compat": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", + "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", "dev": true, "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" + "browserslist": "^4.16.6", + "semver": "7.0.0" }, "dependencies": { - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true - }, - "ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "dev": true, - "requires": {} } } }, - "engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "ms": "2.0.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } - }, - "ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "dev": true, - "requires": {} } } }, - "engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "cp-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", + "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", "dev": true, "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" + "graceful-fs": "^4.1.2", + "make-dir": "^2.0.0", + "nested-error-stacks": "^2.0.0", + "pify": "^4.0.1", + "safe-buffer": "^5.0.1" } }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "prr": "~1.0.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "crypto-js": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", + "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "array-find-index": "^1.0.1" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" + "number-is-nan": "^1.0.0" } }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", "dev": true }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "assert-plus": "^1.0.0" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "date-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", "dev": true }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "ms": "2.0.0" } }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true + }, + "decache": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.0.tgz", + "integrity": "sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==", + "dev": true, "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" + "callsite": "^1.0.0" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true } } }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "type-detect": "^4.0.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", "dev": true, "requires": { - "estraverse": "^5.2.0" + "strip-bom": "^3.0.0" }, "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true } } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true }, - "ethereum-bloom-filters": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.9.tgz", - "integrity": "sha512-GiK/RQkAkcVaEdxKVkPcG07PQ5vD7v2MFSHgZmBJSfMzNRHimntdBithsHAT89tAXnIpzVDWt8iaCD1DvkaxGg==", + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, "requires": { - "js-sha3": "^0.8.0" + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" } }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, - "ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dependency-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", + "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", "dev": true, "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" + "debug": "^4.0.0", + "detective": "^5.0.2", + "globby": "^10.0.1", + "is-relative": "^1.0.0", + "micromatch": "^4.0.2", + "minimist": "^1.2.0", + "pkg-up": "^3.1.0", + "read-package-json": "^2.0.10", + "resolve": "^1.1.7" }, "dependencies": { - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "fill-range": "^7.0.1" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" } - } - } - }, - "ethereumjs-util": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", - "integrity": "sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - }, - "dependencies": { - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, "requires": { - "@types/node": "*" + "braces": "^3.0.1", + "picomatch": "^2.2.3" } }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "ethers": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.1.4.tgz", - "integrity": "sha512-EAPQ/fgGRu0PoR/VNFnHTMOtG/IZ0AItdW55C9T8ffmVu0rnyllZL404eBF66elJehOLz2kxnUrhXpE7TCpW7g==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.1.2", - "@ethersproject/abstract-provider": "5.1.0", - "@ethersproject/abstract-signer": "5.1.0", - "@ethersproject/address": "5.1.0", - "@ethersproject/base64": "5.1.0", - "@ethersproject/basex": "5.1.0", - "@ethersproject/bignumber": "5.1.1", - "@ethersproject/bytes": "5.1.0", - "@ethersproject/constants": "5.1.0", - "@ethersproject/contracts": "5.1.1", - "@ethersproject/hash": "5.1.0", - "@ethersproject/hdnode": "5.1.0", - "@ethersproject/json-wallets": "5.1.0", - "@ethersproject/keccak256": "5.1.0", - "@ethersproject/logger": "5.1.0", - "@ethersproject/networks": "5.1.0", - "@ethersproject/pbkdf2": "5.1.0", - "@ethersproject/properties": "5.1.0", - "@ethersproject/providers": "5.1.2", - "@ethersproject/random": "5.1.0", - "@ethersproject/rlp": "5.1.0", - "@ethersproject/sha2": "5.1.0", - "@ethersproject/signing-key": "5.1.0", - "@ethersproject/solidity": "5.1.0", - "@ethersproject/strings": "5.1.0", - "@ethersproject/transactions": "5.1.1", - "@ethersproject/units": "5.1.0", - "@ethersproject/wallet": "5.1.0", - "@ethersproject/web": "5.1.0", - "@ethersproject/wordlists": "5.1.0" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz", - "integrity": "sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "@ethersproject/address": "^5.1.0", - "@ethersproject/bignumber": "^5.1.0", - "@ethersproject/bytes": "^5.1.0", - "@ethersproject/constants": "^5.1.0", - "@ethersproject/hash": "^5.1.0", - "@ethersproject/keccak256": "^5.1.0", - "@ethersproject/logger": "^5.1.0", - "@ethersproject/properties": "^5.1.0", - "@ethersproject/strings": "^5.1.0" + "is-number": "^7.0.0" } } } }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" } }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true }, - "events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, - "evp_bytestokey": { + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", + "dev": true + }, + "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" } }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true } } }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" + "domelementtype": "1" } }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } + "dom-serializer": "0", + "domelementtype": "1" } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "is-obj": "^1.0.0" } }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" - } + "readable-stream": "^2.0.2" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.727", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz", + "integrity": "sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "safer-buffer": ">= 2.1.2 < 3.0.0" } } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "engine.io": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", + "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "~7.4.2" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "ms": "^2.1.1" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true } } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true - }, - "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "engine.io-client": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", + "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", "dev": true, "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "requires": { - "bser": "2.1.1" + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.6.2", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true + } } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "engine.io-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.4", + "blob": "0.0.5", + "has-binary2": "~1.0.2" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, - "optional": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, "requires": { - "is-extendable": "^0.1.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } } } }, - "filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "is-arrayish": "^0.2.1" } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" } }, - "flat": { + "es6-error": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - } + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "es6-promise": "^4.0.3" } }, - "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } } }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" } }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "ethereum-bloom-filters": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.9.tgz", + "integrity": "sha512-GiK/RQkAkcVaEdxKVkPcG07PQ5vD7v2MFSHgZmBJSfMzNRHimntdBithsHAT89tAXnIpzVDWt8iaCD1DvkaxGg==", + "dev": true, "requires": { - "minipass": "^2.6.0" + "js-sha3": "^0.8.0" } }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true + "ethereumjs-common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", + "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", + "dev": true }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" }, "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, "requires": { - "minimist": "^1.2.5" + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" } } } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "ganache-cli": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz", - "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", - "dev": true, - "requires": { - "ethereumjs-util": "6.2.1", - "source-map-support": "0.5.12", - "yargs": "13.2.4" + "ethers": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.4.tgz", + "integrity": "sha512-zaTs8yaDjfb0Zyj8tT6a+/hEkC+kWAA350MWRp6yP5W7NdGcURRPMOpOU+6GtkfxV9wyJEShWesqhE/TjdqpMA==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.4.0", + "@ethersproject/abstract-provider": "5.4.1", + "@ethersproject/abstract-signer": "5.4.1", + "@ethersproject/address": "5.4.0", + "@ethersproject/base64": "5.4.0", + "@ethersproject/basex": "5.4.0", + "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bytes": "5.4.0", + "@ethersproject/constants": "5.4.0", + "@ethersproject/contracts": "5.4.1", + "@ethersproject/hash": "5.4.0", + "@ethersproject/hdnode": "5.4.0", + "@ethersproject/json-wallets": "5.4.0", + "@ethersproject/keccak256": "5.4.0", + "@ethersproject/logger": "5.4.0", + "@ethersproject/networks": "5.4.2", + "@ethersproject/pbkdf2": "5.4.0", + "@ethersproject/properties": "5.4.0", + "@ethersproject/providers": "5.4.3", + "@ethersproject/random": "5.4.0", + "@ethersproject/rlp": "5.4.0", + "@ethersproject/sha2": "5.4.0", + "@ethersproject/signing-key": "5.4.0", + "@ethersproject/solidity": "5.4.0", + "@ethersproject/strings": "5.4.0", + "@ethersproject/transactions": "5.4.0", + "@ethersproject/units": "5.4.0", + "@ethersproject/wallet": "5.4.0", + "@ethersproject/web": "5.4.0", + "@ethersproject/wordlists": "5.4.0" }, "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "bundled": true, - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "14.11.2", - "bundled": true, - "dev": true - }, - "@types/pbkdf2": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "ansi-regex": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "base-x": { - "version": "3.0.8", - "bundled": true, + "@ethersproject/abi": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.4.0.tgz", + "integrity": "sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw==", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/hash": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" } }, - "blakejs": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "bn.js": { - "version": "4.11.9", - "bundled": true, - "dev": true - }, - "brorand": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "bundled": true, + "@ethersproject/abstract-provider": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz", + "integrity": "sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/networks": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/web": "^5.4.0" } }, - "bs58": { - "version": "4.0.1", - "bundled": true, + "@ethersproject/abstract-signer": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz", + "integrity": "sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==", "dev": true, "requires": { - "base-x": "^3.0.2" + "@ethersproject/abstract-provider": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0" } }, - "bs58check": { - "version": "2.1.2", - "bundled": true, + "@ethersproject/address": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.4.0.tgz", + "integrity": "sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==", "dev": true, "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/rlp": "^5.4.0" } }, - "buffer-from": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "bundled": true, - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "bundled": true, + "@ethersproject/base64": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.4.0.tgz", + "integrity": "sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@ethersproject/bytes": "^5.4.0" } }, - "cliui": { - "version": "5.0.0", - "bundled": true, + "@ethersproject/bignumber": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", + "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "bn.js": "^4.11.9" } }, - "color-convert": { - "version": "1.9.3", - "bundled": true, + "@ethersproject/bytes": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.4.0.tgz", + "integrity": "sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==", "dev": true, "requires": { - "color-name": "1.1.3" + "@ethersproject/logger": "^5.4.0" } }, - "color-name": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "create-hash": { - "version": "1.2.0", - "bundled": true, + "@ethersproject/constants": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.4.0.tgz", + "integrity": "sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "@ethersproject/bignumber": "^5.4.0" } }, - "create-hmac": { - "version": "1.1.7", - "bundled": true, + "@ethersproject/hash": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.4.0.tgz", + "integrity": "sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "@ethersproject/abstract-signer": "^5.4.0", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" } }, - "cross-spawn": { - "version": "6.0.5", - "bundled": true, + "@ethersproject/keccak256": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.4.0.tgz", + "integrity": "sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "@ethersproject/bytes": "^5.4.0", + "js-sha3": "0.5.7" } }, - "decamelize": { - "version": "1.2.0", - "bundled": true, + "@ethersproject/logger": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.4.0.tgz", + "integrity": "sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==", "dev": true }, - "elliptic": { - "version": "6.5.3", - "bundled": true, + "@ethersproject/networks": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.4.2.tgz", + "integrity": "sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "@ethersproject/logger": "^5.4.0" } }, - "emoji-regex": { - "version": "7.0.3", - "bundled": true, - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "bundled": true, + "@ethersproject/properties": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.4.0.tgz", + "integrity": "sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==", "dev": true, "requires": { - "once": "^1.4.0" + "@ethersproject/logger": "^5.4.0" } }, - "ethereum-cryptography": { - "version": "0.1.3", - "bundled": true, + "@ethersproject/rlp": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.4.0.tgz", + "integrity": "sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==", "dev": true, "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0" } }, - "ethereumjs-util": { - "version": "6.2.1", - "bundled": true, + "@ethersproject/signing-key": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.4.0.tgz", + "integrity": "sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==", "dev": true, "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "ethjs-util": { - "version": "0.1.6", - "bundled": true, + "@ethersproject/strings": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.4.0.tgz", + "integrity": "sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==", "dev": true, "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/logger": "^5.4.0" } }, - "evp_bytestokey": { - "version": "1.0.3", - "bundled": true, + "@ethersproject/transactions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.4.0.tgz", + "integrity": "sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/keccak256": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/rlp": "^5.4.0", + "@ethersproject/signing-key": "^5.4.0" } }, - "execa": { - "version": "1.0.0", - "bundled": true, + "@ethersproject/web": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.4.0.tgz", + "integrity": "sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==", "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "@ethersproject/base64": "^5.4.0", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/logger": "^5.4.0", + "@ethersproject/properties": "^5.4.0", + "@ethersproject/strings": "^5.4.0" } }, - "find-up": { - "version": "3.0.0", - "bundled": true, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "dev": true, + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dev": true, + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "locate-path": "^3.0.0" + "is-descriptor": "^0.1.0" } }, - "get-caller-file": { - "version": "2.0.5", - "bundled": true, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true - }, - "get-stream": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "hash-base": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "is-plain-object": "^2.0.4" } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "is-hex-prefixed": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "keccak": { - "version": "3.0.1", - "bundled": true, + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "os-tmpdir": "~1.0.2" } - }, - "lcid": { - "version": "2.0.0", - "bundled": true, + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "is-descriptor": "^1.0.0" } }, - "locate-path": { - "version": "3.0.0", - "bundled": true, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "is-extendable": "^0.1.0" } }, - "map-age-cleaner": { - "version": "0.1.3", - "bundled": true, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "p-defer": "^1.0.0" + "kind-of": "^6.0.0" } }, - "md5.js": { - "version": "1.3.5", - "bundled": true, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "kind-of": "^6.0.0" } }, - "mem": { - "version": "4.3.0", - "bundled": true, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } - }, - "mimic-fn": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "node-addon-api": { - "version": "2.0.2", - "bundled": true, - "dev": true - }, - "node-gyp-build": { - "version": "4.2.3", - "bundled": true, - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "path-key": "^2.0.0" + "fill-range": "^7.0.1" } }, - "once": { - "version": "1.4.0", - "bundled": true, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "wrappy": "1" + "to-regex-range": "^5.0.1" } }, - "os-locale": { - "version": "3.1.0", - "bundled": true, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "is-glob": "^4.0.1" } }, - "p-defer": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "bundled": true, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "p-limit": { - "version": "2.3.0", - "bundled": true, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { - "p-try": "^2.0.0" + "braces": "^3.0.1", + "picomatch": "^2.2.3" } }, - "p-locate": { - "version": "3.0.0", - "bundled": true, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "is-number": "^7.0.0" } - }, - "p-try": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "path-key": { + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { "version": "2.0.1", - "bundled": true, - "dev": true - }, - "pbkdf2": { - "version": "3.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "is-extendable": "^0.1.0" + } + } + } + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "dev": true + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" } }, - "pump": { - "version": "3.0.0", - "bundled": true, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, - "randombytes": { - "version": "2.1.0", - "bundled": true, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "readable-stream": { - "version": "3.6.0", + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "ganache-cli": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz", + "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", + "dev": true, + "requires": { + "ethereumjs-util": "6.2.1", + "source-map-support": "0.5.12", + "yargs": "13.2.4" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", "bundled": true, "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@types/node": "*" } }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", + "@types/node": { + "version": "14.11.2", "bundled": true, "dev": true }, - "ripemd160": { - "version": "2.0.2", + "@types/pbkdf2": { + "version": "3.1.0", "bundled": true, "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "@types/node": "*" } }, - "rlp": { - "version": "2.2.6", + "@types/secp256k1": { + "version": "4.0.1", "bundled": true, "dev": true, "requires": { - "bn.js": "^4.11.1" + "@types/node": "*" } }, - "safe-buffer": { - "version": "5.2.1", - "bundled": true, - "dev": true - }, - "scrypt-js": { - "version": "3.0.1", + "ansi-regex": { + "version": "4.1.0", "bundled": true, "dev": true }, - "secp256k1": { - "version": "4.0.2", + "ansi-styles": { + "version": "3.2.1", "bundled": true, "dev": true, "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "color-convert": "^1.9.0" } }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "sha.js": { - "version": "2.4.11", + "base-x": { + "version": "3.0.8", "bundled": true, "dev": true, "requires": { - "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", + "blakejs": { + "version": "1.1.0", "bundled": true, "dev": true }, - "signal-exit": { - "version": "3.0.3", + "bn.js": { + "version": "4.11.9", "bundled": true, "dev": true }, - "source-map": { - "version": "0.6.1", + "brorand": { + "version": "1.1.0", "bundled": true, "dev": true }, - "source-map-support": { - "version": "0.5.12", - "bundled": true, - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "string_decoder": { - "version": "1.3.0", + "browserify-aes": { + "version": "1.2.0", "bundled": true, "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "string-width": { - "version": "3.1.0", + "bs58": { + "version": "4.0.1", "bundled": true, "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "base-x": "^3.0.2" } }, - "strip-ansi": { - "version": "5.2.0", + "bs58check": { + "version": "2.1.2", "bundled": true, "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "strip-eof": { - "version": "1.0.0", + "buffer-from": { + "version": "1.1.1", "bundled": true, "dev": true }, - "strip-hex-prefix": { - "version": "1.0.0", + "buffer-xor": { + "version": "1.0.3", "bundled": true, - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0" - } + "dev": true }, - "util-deprecate": { - "version": "1.0.2", + "camelcase": { + "version": "5.3.1", "bundled": true, "dev": true }, - "which": { - "version": "1.3.1", + "cipher-base": { + "version": "1.0.4", "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "which-module": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", + "cliui": { + "version": "5.0.0", "bundled": true, "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "wrappy": { - "version": "1.0.2", + "color-convert": { + "version": "1.9.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "color-name": "1.1.3" + } }, - "y18n": { - "version": "4.0.0", + "color-name": { + "version": "1.1.3", "bundled": true, "dev": true }, - "yargs": { - "version": "13.2.4", + "create-hash": { + "version": "1.2.0", "bundled": true, "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "yargs-parser": { - "version": "13.1.2", + "create-hmac": { + "version": "1.1.7", "bundled": true, "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } - } - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "devOptional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "devOptional": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "devOptional": true, + "cross-spawn": { + "version": "6.0.5", + "bundled": true, + "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "devOptional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "devOptional": true, + "elliptic": { + "version": "6.5.3", + "bundled": true, + "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } - } - } - }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + }, + "emoji-regex": { + "version": "7.0.3", + "bundled": true, "dev": true }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "end-of-stream": { + "version": "1.4.4", + "bundled": true, "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "once": "^1.4.0" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "ethereum-cryptography": { + "version": "0.1.3", + "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" } }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "ethereumjs-util": { + "version": "6.2.1", + "bundled": true, "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "ethjs-util": { + "version": "0.1.6", + "bundled": true, "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" } }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "evp_bytestokey": { + "version": "1.0.3", + "bundled": true, "dev": true, "requires": { - "get-stdin": "^4.0.1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "trim-newlines": { + "execa": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - } - } - }, - "get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "get-caller-file": { + "version": "2.0.5", + "bundled": true, "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "get-stream": { + "version": "4.1.0", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "pump": "^3.0.0" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "hash-base": { + "version": "3.1.0", + "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "hash.js": { + "version": "1.1.7", + "bundled": true, "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "hmac-drbg": { + "version": "1.0.1", + "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } + "inherits": { + "version": "2.0.4", + "bundled": true, + "dev": true }, - "p-locate": { + "invert-kv": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } + "bundled": true, + "dev": true }, - "p-try": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-hex-prefixed": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "keccak": { + "version": "3.0.1", + "bundled": true, "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "lcid": { + "version": "2.0.0", + "bundled": true, "dev": true, "requires": { - "pify": "^3.0.0" + "invert-kv": "^2.0.0" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true - }, - "read-pkg": { + "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "bundled": true, "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "map-age-cleaner": { + "version": "0.1.3", + "bundled": true, "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "p-defer": "^1.0.0" } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "md5.js": { + "version": "1.3.5", + "bundled": true, "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "mem": { + "version": "4.3.0", + "bundled": true, "dev": true, "requires": { - "through2": "^2.0.2" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "mimic-fn": { + "version": "2.1.0", + "bundled": true, "dev": true }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "minimalistic-assert": { + "version": "1.0.1", + "bundled": true, "dev": true }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "minimalistic-crypto-utils": { + "version": "1.0.1", + "bundled": true, "dev": true - } - } - }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + }, + "nice-try": { + "version": "1.0.5", + "bundled": true, "dev": true - } - } - }, - "git-semver-tags": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", - "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", - "dev": true, - "requires": { - "meow": "^4.0.0", - "semver": "^6.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + }, + "node-addon-api": { + "version": "2.0.2", + "bundled": true, "dev": true }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } + "node-gyp-build": { + "version": "4.2.3", + "bundled": true, + "dev": true }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "npm-run-path": { + "version": "2.0.2", + "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "path-key": "^2.0.0" } }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "once": { + "version": "1.4.0", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "wrappy": "1" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "os-locale": { + "version": "3.1.0", + "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "p-defer": { + "version": "1.0.0", + "bundled": true, "dev": true }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } + "p-is-promise": { + "version": "2.1.0", + "bundled": true, + "dev": true }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "p-limit": { + "version": "2.3.0", + "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "bundled": true, "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "bundled": true, "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "path-type": { + "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "bundled": true, "dev": true, "requires": { - "pify": "^3.0.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "randombytes": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, "dev": true }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "require-main-filename": { + "version": "2.0.0", + "bundled": true, "dev": true }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "ripemd160": { + "version": "2.0.2", + "bundled": true, "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "rlp": { + "version": "2.2.6", + "bundled": true, "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "bn.js": "^4.11.1" } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "safe-buffer": { + "version": "5.2.1", + "bundled": true, + "dev": true + }, + "scrypt-js": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "secp256k1": { + "version": "4.0.2", + "bundled": true, "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "version": "5.7.1", + "bundled": true, "dev": true }, - "strip-indent": { + "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "bundled": true, "dev": true }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "setimmediate": { + "version": "1.0.5", + "bundled": true, "dev": true - } - } - }, - "git-up": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", - "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", - "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "parse-url": "^5.0.0" - } - }, - "git-url-parse": { - "version": "11.4.4", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz", - "integrity": "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==", - "dev": true, - "requires": { - "git-up": "^4.0.0" - } - }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "requires": { - "ini": "^1.3.2" - } - }, - "github-build": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.2.tgz", - "integrity": "sha512-xHVy8w+J09eD+uBqJ4CcRPr5HTa1BYaF6vPJ67yJekCWurPzimB/ExH1SGzW5iAFC2Uvw9TD1FpSIjh56hcB9Q==", - "dev": true, - "requires": { - "axios": "0.21.1" - } - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "dev": true - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + }, + "sha.js": { + "version": "2.4.11", + "bundled": true, "dev": true, "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } - } - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, "dev": true - } - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "optional": true - }, - "gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", - "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + }, + "signal-exit": { + "version": "3.0.3", + "bundled": true, "dev": true - } - } - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { + }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - } - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "bundled": true, "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "devOptional": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + }, + "source-map-support": { + "version": "0.5.12", + "bundled": true, + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "safe-buffer": "~5.2.0" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "requires": { - "is-stream": "^1.0.1" - } - }, - "hat": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", - "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=", - "dev": true - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", - "dev": true - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, "dev": true }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "strip-hex-prefix": { + "version": "1.0.0", + "bundled": true, "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "is-hex-prefixed": "1.0.0" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "util-deprecate": { + "version": "1.0.2", + "bundled": true, "dev": true - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "13.2.4", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.2", + "bundled": true, "dev": true, "requires": { - "ms": "2.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" }, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "ms": "^2.1.1" + "number-is-nan": "^1.0.0" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "requires": { - "punycode": "2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } } } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "genfun": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", "dev": true }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true }, - "iltorb": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-2.4.5.tgz", - "integrity": "sha512-EMCMl3LnnNSZJS5QrxyZmMTaAC4+TJkM5woD+xbpm9RB+mFYCr7C05GFE3TEGCsVQSVHmjX+3sf5AiwsylNInQ==", - "dev": true, - "requires": { - "detect-libc": "^1.0.3", - "nan": "^2.14.0", - "npmlog": "^4.1.2", - "prebuild-install": "^5.3.3", - "which-pm-runs": "^1.0.0" - } + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, - "import-fresh": { + "get-func-name": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", "dev": true, "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" }, "dependencies": { - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "find-up": "^3.0.0" + "get-stdin": "^4.0.1" } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true } } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", "dev": true }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "pump": "^3.0.0" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, - "init-package-json": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", - "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" + "assert-plus": "^1.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + } } }, - "inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", "dev": true, "requires": { - "source-map": "~0.5.3" + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", "dev": true, "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "meow": "^4.0.0", + "semver": "^6.0.0" }, "dependencies": { - "ansi-regex": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true } } }, - "insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "git-up": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", + "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", "dev": true, "requires": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" + "is-ssh": "^1.3.0", + "parse-url": "^5.0.0" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "git-url-parse": { + "version": "11.4.4", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz", + "integrity": "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==", "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", "requires": { - "has": "^1.0.3" + "git-up": "^4.0.0" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } + "ini": "^1.3.2" } }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "github-build": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.2.tgz", + "integrity": "sha512-xHVy8w+J09eD+uBqJ4CcRPr5HTa1BYaF6vPJ67yJekCWurPzimB/ExH1SGzW5iAFC2Uvw9TD1FpSIjh56hcB9Q==", + "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } + "axios": "0.21.1" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "devOptional": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "devOptional": true - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-generator-function": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", - "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "requires": { - "kind-of": "^3.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-extglob": "^2.1.0" } } } }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", "dev": true }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dev": true, "requires": { - "is-path-inside": "^2.1.0" + "min-document": "^2.19.0", + "process": "^0.11.10" } }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { - "path-is-inside": "^1.0.2" + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, "requires": { - "isobject": "^3.0.1" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "is-unc-path": "^1.0.0" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-ssh": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz", - "integrity": "sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==", + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "dev": true, "requires": { - "protocols": "^1.1.0" + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, "requires": { - "has-symbols": "^1.0.2" + "duplexer": "^0.1.1", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { - "text-extensions": "^1.0.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "unc-path-regex": "^0.1.2" + "function-bind": "^1.1.1" } }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "devOptional": true, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, "requires": { - "is-docker": "^2.0.0" + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", "dev": true }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "append-transform": "^1.0.0" + "has-symbol-support-x": "^1.4.1" } }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "has-flag": "^3.0.0" + "is-buffer": "^1.1.5" } } } }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "ms": "2.1.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { - "html-escaper": "^2.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "hasha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", + "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", + "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "is-stream": "^1.0.1" + } + }, + "hat": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", + "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, "requires": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "dependencies": { - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } + "parse-passwd": "^1.0.0" } }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" }, "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true } } }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "ms": "2.0.0" } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "ms": "^2.1.1" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "dev": true + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "iltorb": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-2.4.5.tgz", + "integrity": "sha512-EMCMl3LnnNSZJS5QrxyZmMTaAC4+TJkM5woD+xbpm9RB+mFYCr7C05GFE3TEGCsVQSVHmjX+3sf5AiwsylNInQ==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "nan": "^2.14.0", + "npmlog": "^4.1.2", + "prebuild-install": "^5.3.3", + "which-pm-runs": "^1.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "requires": { - "is-number": "^7.0.0" + "find-up": "^3.0.0" } } } }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "init-package-json": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", + "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "dev": true, + "requires": { + "source-map": "~0.5.3" + } + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } } } }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "dev": true, "requires": { - "detect-newline": "^3.0.0" + "JSONStream": "^1.0.3", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" } }, - "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "kind-of": "^3.0.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "is-buffer": "^1.1.5" } } } }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "has": "^1.0.3" } }, - "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", + "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "kind-of": "^3.0.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "is-buffer": "^1.1.5" } } } }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "isobject": "^3.0.1" } }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" } }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - } + "is-unc-path": "^1.0.0" } }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-ssh": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz", + "integrity": "sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "protocols": "^1.1.0" } }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "requires": {} - }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" } }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "text-extensions": "^1.0.0" } }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "is-typed-array": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", + "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.0-next.2", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" } }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" } }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "istanbul-lib-hook": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", + "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "dev": true, "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } + "append-transform": "^1.0.0" } }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } } } }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" }, "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "ms": "2.1.2" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "html-escaper": "^2.0.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true }, "js-string-escape": { "version": "1.0.1", @@ -41120,12 +12548,14 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -41134,136 +12564,14 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdom": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", - "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.5", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - } - } + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, "jshint": { "version": "2.12.0", @@ -41301,7 +12609,8 @@ "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -41312,17 +12621,20 @@ "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify": { "version": "0.0.1", @@ -41336,12 +12648,14 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, "requires": { "minimist": "^1.2.5" } @@ -41350,6 +12664,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -41357,7 +12672,8 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true }, "jsonparse": { "version": "1.3.1", @@ -41365,20 +12681,11 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -41674,6 +12981,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", + "dev": true, "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" @@ -41683,6 +12991,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, "requires": { "json-buffer": "3.0.0" } @@ -41690,7 +12999,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true }, "klaw": { "version": "1.3.1", @@ -41701,11 +13011,6 @@ "graceful-fs": "^4.1.9" } }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, "labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -41751,24 +13056,11 @@ "npmlog": "^4.1.2" } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true }, "load-json-file": { "version": "1.1.0", @@ -41832,7 +13124,8 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "lodash._reinterpolate": { "version": "3.0.0", @@ -41977,7 +13270,8 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true }, "lru-cache": { "version": "5.1.1", @@ -42007,7 +13301,8 @@ "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "make-fetch-happen": { "version": "5.0.2", @@ -42036,18 +13331,11 @@ } } }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "requires": { - "tmpl": "1.0.x" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-obj": { "version": "4.2.1", @@ -42059,6 +13347,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -42067,6 +13356,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -42076,7 +13366,8 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true }, "memory-fs": { "version": "0.4.1", @@ -42284,7 +13575,8 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true }, "merge-source-map": { "version": "1.1.0", @@ -42303,11 +13595,6 @@ } } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -42317,12 +13604,14 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -42343,6 +13632,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -42351,17 +13641,20 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true }, "mime-db": { "version": "1.47.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "dev": true }, "mime-types": { "version": "2.1.30", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dev": true, "requires": { "mime-db": "1.47.0" } @@ -42375,12 +13668,14 @@ "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true }, "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, "requires": { "dom-walk": "^0.1.0" } @@ -42394,17 +13689,20 @@ "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -42412,7 +13710,8 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "minimist-options": { "version": "4.1.0", @@ -42429,6 +13728,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -42438,6 +13738,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, "requires": { "minipass": "^2.9.0" } @@ -42464,6 +13765,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -42473,6 +13775,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -42482,7 +13785,8 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, "mkdirp-classic": { "version": "0.5.3", @@ -42494,6 +13798,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "dev": true, "requires": { "mkdirp": "*" } @@ -42603,7 +13908,8 @@ "mock-fs": { "version": "4.14.0", "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==" + "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", + "dev": true }, "modify-values": { "version": "1.0.1", @@ -42617,6 +13923,7 @@ "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, "requires": { + "JSONStream": "^1.0.3", "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", "concat-stream": "~1.6.0", @@ -42624,7 +13931,6 @@ "detective": "^5.2.0", "duplexer2": "^0.1.2", "inherits": "^2.0.1", - "JSONStream": "^1.0.3", "parents": "^1.0.0", "readable-stream": "^2.0.2", "resolve": "^1.4.0", @@ -42662,12 +13968,14 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multibase": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "dev": true, "requires": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -42677,6 +13985,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -42688,6 +13997,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "dev": true, "requires": { "varint": "^5.0.0" } @@ -42696,6 +14006,7 @@ "version": "0.4.21", "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dev": true, "requires": { "buffer": "^5.5.0", "multibase": "^0.7.0", @@ -42706,6 +14017,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -42715,6 +14027,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "dev": true, "requires": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -42760,12 +14073,14 @@ "nano-json-stream-parser": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" + "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", + "dev": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -42786,15 +14101,11 @@ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "dev": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true }, "neo-async": { "version": "2.6.2", @@ -42811,12 +14122,14 @@ "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node-abi": { "version": "2.26.0", @@ -42830,7 +14143,8 @@ "node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "dev": true }, "node-emoji": { "version": "1.10.0", @@ -42901,12 +14215,8 @@ "node-gyp-build": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "dev": true }, "node-libs-browser": { "version": "2.2.1", @@ -42998,70 +14308,11 @@ } } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" - }, - "node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "optional": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - } - } - }, "node-releases": { "version": "1.1.71", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true }, "noop-logger": { "version": "0.1.1", @@ -43083,6 +14334,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -43093,12 +14345,14 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true }, "npm-bundled": { "version": "1.1.2", @@ -43143,6 +14397,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", + "dev": true, "requires": { "hosted-git-info": "^2.7.1", "osenv": "^0.1.5", @@ -43172,39 +14427,11 @@ "semver": "^5.4.1" } }, - "npm-registry-client": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz", - "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==", - "requires": { - "concat-stream": "^1.5.2", - "graceful-fs": "^4.1.6", - "normalize-package-data": "~1.0.1 || ^2.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", - "npmlog": "2 || ^3.1.0 || ^4.0.0", - "once": "^1.3.3", - "request": "^2.74.0", - "retry": "^0.10.0", - "safe-buffer": "^5.1.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5", - "slide": "^1.1.3", - "ssri": "^5.2.4" - }, - "dependencies": { - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "requires": { - "safe-buffer": "^5.1.1" - } - } - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, "requires": { "path-key": "^2.0.0" } @@ -43213,7 +14440,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "devOptional": true, + "dev": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -43225,12 +14452,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "devOptional": true + "dev": true }, "number-to-bn": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "dev": true, "requires": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -43239,15 +14467,11 @@ "bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true } } }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, "nyc": { "version": "14.1.1", "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", @@ -43312,17 +14536,20 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -43333,6 +14560,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -43341,6 +14569,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -43350,17 +14579,20 @@ "object-inspect": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -43369,6 +14601,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -43391,6 +14624,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -43399,6 +14633,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", + "dev": true, "requires": { "http-https": "^1.0.0" } @@ -43413,6 +14648,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, "requires": { "ee-first": "1.1.1" } @@ -43421,6 +14657,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -43434,19 +14671,6 @@ "mimic-fn": "^1.0.0" } }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -43456,7 +14680,8 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "1.4.0", @@ -43486,12 +14711,14 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -43500,22 +14727,20 @@ "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -43577,6 +14802,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, "requires": { "p-finally": "^1.0.0" } @@ -43584,7 +14810,8 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "p-waterfall": { "version": "1.0.0", @@ -43637,6 +14864,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, "requires": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -43654,7 +14882,8 @@ "parse-headers": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==", + "dev": true }, "parse-json": { "version": "2.2.0", @@ -43732,11 +14961,6 @@ } } }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, "parseqs": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", @@ -43752,17 +14976,14 @@ "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "parsimmon": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.0.tgz", - "integrity": "sha512-EtVsGuQfDgwGgXzsSDe+5egRPwbcgKRd/omQ1L3Oj2pHy0gYqd+Q7zrBIQ7P/BN6DWUP9vV45HIgZHCmssdzMg==" + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-browserify": { "version": "0.0.1", @@ -43785,7 +15006,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -43796,12 +15018,14 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "path-platform": { "version": "0.11.15", @@ -43812,7 +15036,8 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true }, "path-type": { "version": "1.1.0", @@ -43843,6 +15068,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -43854,12 +15080,14 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "picomatch": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true }, "pify": { "version": "4.0.1", @@ -43882,18 +15110,11 @@ "pinkie": "^2.0.0" } }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, "requires": { "find-up": "^4.0.0" }, @@ -43902,6 +15123,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -43911,6 +15133,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "requires": { "p-locate": "^4.1.0" } @@ -43919,6 +15142,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "requires": { "p-limit": "^2.2.0" } @@ -43926,7 +15150,8 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true } } }, @@ -43942,7 +15167,8 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "prebuild-install": { "version": "5.3.6", @@ -43995,54 +15221,11 @@ } } }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true }, "prettycli": { "version": "1.4.3", @@ -44081,20 +15264,17 @@ } } }, - "printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "promise-inflight": { "version": "1.0.1", @@ -44112,15 +15292,6 @@ "retry": "^0.10.0" } }, - "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, "promzard": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", @@ -44155,6 +15326,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, "requires": { "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" @@ -44175,12 +15347,14 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -44194,6 +15368,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -44225,7 +15400,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "q": { "version": "1.5.1", @@ -44242,12 +15418,14 @@ "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true }, "query-string": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, "requires": { "decode-uri-component": "^0.2.0", "object-assign": "^4.1.0", @@ -44282,6 +15460,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -44290,6 +15469,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -44298,12 +15478,14 @@ "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true }, "raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, "requires": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -44323,11 +15505,6 @@ "strip-json-comments": "~2.0.1" } }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -44424,6 +15601,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -44502,6 +15680,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -44556,17 +15735,21 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "repeating": { "version": "2.0.1", @@ -44581,6 +15764,7 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -44607,14 +15791,16 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true } } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-from-string": { "version": "1.2.1", @@ -44631,7 +15817,8 @@ "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "requires-port": { "version": "1.0.0", @@ -44643,6 +15830,7 @@ "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -44689,12 +15877,14 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, "requires": { "lowercase-keys": "^1.0.0" } @@ -44712,12 +15902,14 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "retry": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "dev": true }, "reusify": { "version": "1.0.4", @@ -44735,6 +15927,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "requires": { "glob": "^7.1.3" } @@ -44743,6 +15936,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -44752,15 +15946,11 @@ "version": "2.2.6", "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "dev": true, "requires": { "bn.js": "^4.11.1" } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" - }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -44797,12 +15987,14 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -44810,7 +16002,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "sandboxed-module": { "version": "2.0.4", @@ -44822,30 +16015,6 @@ "stack-trace": "0.0.9" } }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - } - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, "schema-utils": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", @@ -44860,12 +16029,14 @@ "scrypt-js": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true }, "secp256k1": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", + "dev": true, "requires": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -44875,12 +16046,14 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -44900,7 +16073,8 @@ "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, @@ -44917,6 +16091,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -44928,6 +16103,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "dev": true, "requires": { "body-parser": "^1.16.0", "cors": "^2.8.1", @@ -44939,12 +16115,14 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -44956,6 +16134,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -44965,17 +16144,20 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -45013,6 +16195,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -45020,7 +16203,8 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "shell-quote": { "version": "1.7.2", @@ -45034,12 +16218,6 @@ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", "dev": true }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "optional": true - }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -45054,28 +16232,26 @@ "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true }, "simple-get": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "dev": true, "requires": { "decompress-response": "^3.3.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -45085,7 +16261,8 @@ "slide": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true }, "smart-buffer": { "version": "4.1.0", @@ -45097,6 +16274,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -45112,6 +16290,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -45120,6 +16299,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -45130,6 +16310,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -45140,6 +16321,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -45148,6 +16330,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -45156,6 +16339,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -45164,6 +16348,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -45176,6 +16361,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -45184,6 +16370,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -45518,12 +16705,14 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -45536,6 +16725,7 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -45544,14 +16734,16 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, "source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true }, "spawn-wrap": { "version": "1.4.3", @@ -45582,6 +16774,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -45590,12 +16783,14 @@ "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -45604,7 +16799,8 @@ "spdx-license-ids": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true }, "split": { "version": "1.0.1", @@ -45625,6 +16821,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -45654,12 +16851,14 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -45687,25 +16886,11 @@ "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", "dev": true }, - "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -45715,6 +16900,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -45724,7 +16910,8 @@ "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true }, "stream-browserify": { "version": "2.0.2", @@ -45831,54 +17018,23 @@ "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" + "universalify": "^0.1.0" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -45894,6 +17050,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -45903,11 +17060,21 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -45929,17 +17096,14 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, "strip-hex-prefix": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "dev": true, "requires": { "is-hex-prefixed": "1.0.0" } @@ -45956,7 +17120,8 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "strong-log-transformer": { "version": "2.1.0", @@ -45982,38 +17147,16 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "swarm-js": { "version": "0.1.40", "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", + "dev": true, "requires": { "bluebird": "^3.5.0", "buffer": "^5.0.5", @@ -46032,6 +17175,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -46041,6 +17185,7 @@ "version": "0.1.29", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -46053,12 +17198,14 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "got": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, "requires": { "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", @@ -46079,17 +17226,20 @@ "p-cancelable": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, "requires": { "prepend-http": "^1.0.1" } @@ -46098,6 +17248,7 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, "requires": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", @@ -46106,11 +17257,6 @@ } } }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, "syntax-error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -46127,26 +17273,34 @@ "dev": true }, "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "version": "4.4.16", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.16.tgz", + "integrity": "sha512-gOVUT/KWPkGFZQmCRDVFNUWBl7niIo/PRR7lzrIqtZpit+st54lGROuVjc6zEQM9FhH+dJfQIl+9F0k8GNXg5g==", + "dev": true, "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" }, "dependencies": { "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "requires": { "minimist": "^1.2.5" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true } } }, @@ -46166,6 +17320,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, "requires": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -46178,6 +17333,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -46223,30 +17379,6 @@ } } }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, "terser": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", @@ -46442,11 +17574,6 @@ "thenify": ">= 3.1.0 < 4" } }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -46466,7 +17593,8 @@ "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true }, "timers-browserify": { "version": "1.4.2", @@ -46481,6 +17609,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, "requires": { "rimraf": "^3.0.0" }, @@ -46489,17 +17618,13 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "requires": { "glob": "^7.1.3" } } } }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" - }, "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", @@ -46515,12 +17640,14 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -46529,6 +17656,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -46538,12 +17666,14 @@ "to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -46555,6 +17685,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -46563,12 +17694,14 @@ "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -46584,9 +17717,9 @@ } }, "trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, "trim-off-newlines": { @@ -46595,56 +17728,11 @@ "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", "dev": true }, - "ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "requires": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } - }, "ts-node": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "devOptional": true, + "dev": true, "requires": { "arg": "^4.1.0", "create-require": "^1.1.0", @@ -46658,57 +17746,15 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true + "dev": true } } }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tslint": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", - "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", - "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "requires": { - "tslib": "^1.8.1" - } + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "tty-browserify": { "version": "0.0.1", @@ -46720,6 +17766,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -46727,25 +17774,20 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true }, "type-fest": { "version": "0.3.1", @@ -46757,6 +17799,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -46765,12 +17808,14 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, "requires": { "is-typedarray": "^1.0.0" } @@ -46778,7 +17823,8 @@ "typescript": { "version": "3.9.9", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==" + "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", + "dev": true }, "ua-parser-js": { "version": "0.7.22", @@ -46802,7 +17848,8 @@ "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true }, "umask": { "version": "1.1.0", @@ -46820,6 +17867,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, "requires": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", @@ -46884,6 +17932,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -46921,17 +17970,20 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -46941,6 +17993,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -46951,6 +18004,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -46960,7 +18014,8 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true } } }, @@ -46974,6 +18029,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -46981,7 +18037,8 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url": { "version": "0.11.0", @@ -47005,6 +18062,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, "requires": { "prepend-http": "^2.0.0" } @@ -47012,22 +18070,26 @@ "url-set-query": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", + "dev": true }, "url-to-options": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "utf-8-validate": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.5.tgz", "integrity": "sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==", + "dev": true, "requires": { "node-gyp-build": "^4.2.0" } @@ -47035,12 +18097,14 @@ "utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true }, "util": { "version": "0.12.3", "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", + "dev": true, "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -47053,7 +18117,8 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "util-promisify": { "version": "2.1.0", @@ -47067,12 +18132,14 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true }, "v8-compile-cache": { "version": "2.3.0", @@ -47080,27 +18147,11 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, - "v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -47110,6 +18161,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, "requires": { "builtins": "^1.0.3" } @@ -47117,17 +18169,20 @@ "varint": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", + "dev": true }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -47146,22 +18201,6 @@ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, "wait-port": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.9.tgz", @@ -47196,14 +18235,6 @@ } } }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "requires": { - "makeerror": "1.0.x" - } - }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -47668,6 +18699,7 @@ "version": "1.0.34", "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", + "dev": true, "requires": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -47677,19 +18709,6 @@ "yaeti": "^0.0.6" } }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, "whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", @@ -47705,6 +18724,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "requires": { "isexe": "^2.0.0" } @@ -47713,6 +18733,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -47724,7 +18745,8 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "which-pm-runs": { "version": "1.0.0", @@ -47736,6 +18758,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "dev": true, "requires": { "available-typed-arrays": "^1.0.2", "call-bind": "^1.0.0", @@ -47750,7 +18773,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "devOptional": true, + "dev": true, "requires": { "string-width": "^1.0.2 || 2" }, @@ -47759,13 +18782,13 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "devOptional": true + "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "devOptional": true, + "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -47775,7 +18798,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "devOptional": true, + "dev": true, "requires": { "ansi-regex": "^3.0.0" } @@ -47797,11 +18820,6 @@ "execa": "^1.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -47831,7 +18849,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "2.4.3", @@ -47899,16 +18918,11 @@ } } }, - "ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", - "requires": {} - }, "xhr": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dev": true, "requires": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -47920,6 +18934,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "dev": true, "requires": { "buffer-to-arraybuffer": "^0.0.5", "object-assign": "^4.1.1", @@ -47934,6 +18949,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dev": true, "requires": { "xhr-request": "^1.1.0" } @@ -47942,20 +18958,11 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "dev": true, "requires": { "cookiejar": "^2.1.1" } }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, "xmlhttprequest-ssl": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.2.tgz", @@ -47965,22 +18972,26 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "yaeti": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", + "dev": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "yargs": { "version": "13.3.2", @@ -48031,7 +19042,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true + "dev": true } } } diff --git a/package.json b/package.json index e80c45af7c7..461f2f8d562 100644 --- a/package.json +++ b/package.json @@ -113,7 +113,7 @@ "crypto-js": "^3.3.0", "decache": "^4.6.0", "dependency-check": "^4.1.0", - "ethers": "^5.1.4", + "ethers": "^5.4.4", "ganache-cli": "^6.12.0", "jshint": "^2.12.0", "karma": "^5.2.3", From 6d3510ece74d36b5cd29a1eb3889cfd1143b747d Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Aug 2021 13:36:44 +0200 Subject: [PATCH 02/25] karma upgrade for lib sec issue fix --- package-lock.json | 456 +++++++++++++--------------------------------- package.json | 2 +- 2 files changed, 125 insertions(+), 333 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1bb98259025..af92da2e455 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4750,6 +4750,24 @@ "@types/node": "*" } }, + "@types/component-emitter": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", + "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", + "dev": true + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -5131,12 +5149,6 @@ "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", "dev": true }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", @@ -5350,12 +5362,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -5571,12 +5577,6 @@ "@babel/helper-define-polyfill-provider": "^0.2.0" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -5755,12 +5755,6 @@ "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=", "dev": true }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -6820,24 +6814,12 @@ } } }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -8315,16 +8297,17 @@ } }, "engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", + "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", "dev": true, "requires": { "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~4.0.0", "ws": "~7.4.2" }, "dependencies": { @@ -8335,75 +8318,29 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "dev": true - } - } - }, - "engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", - "dev": true, - "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", + "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", "dev": true, "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" + "base64-arraybuffer": "0.1.4" } }, "enhanced-resolve": { @@ -11390,29 +11327,6 @@ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -11843,12 +11757,6 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -12694,34 +12602,34 @@ } }, "karma": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/karma/-/karma-5.2.3.tgz", - "integrity": "sha512-tHdyFADhVVPBorIKCX8A37iLHxc6RBRphkSoQ+MLKdAtFn1k97tD8WUGi1KlEtDZKL3hui0qhsY9HXUfSNDYPQ==", + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz", + "integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==", "dev": true, "requires": { "body-parser": "^1.19.0", "braces": "^3.0.2", - "chokidar": "^3.4.2", + "chokidar": "^3.5.1", "colors": "^1.4.0", "connect": "^3.7.0", "di": "^0.0.1", "dom-serialize": "^2.2.1", - "glob": "^7.1.6", - "graceful-fs": "^4.2.4", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.6", - "lodash": "^4.17.19", - "log4js": "^6.2.1", - "mime": "^2.4.5", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.3.0", + "mime": "^2.5.2", "minimatch": "^3.0.4", "qjobs": "^1.2.0", "range-parser": "^1.2.1", "rimraf": "^3.0.2", - "socket.io": "^2.3.0", + "socket.io": "^3.1.0", "source-map": "^0.6.1", - "tmp": "0.2.1", - "ua-parser-js": "0.7.22", - "yargs": "^15.3.1" + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.28", + "yargs": "^16.1.1" }, "dependencies": { "ansi-regex": { @@ -12749,14 +12657,14 @@ } }, "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "wrap-ansi": "^7.0.0" } }, "color-convert": { @@ -12789,16 +12697,6 @@ "to-regex-range": "^5.0.1" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -12811,36 +12709,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "mime": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -12886,9 +12760,9 @@ } }, "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -12896,34 +12770,32 @@ "strip-ansi": "^6.0.0" } }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true } } }, @@ -13241,9 +13113,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -14961,18 +14833,6 @@ } } }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -16378,125 +16238,69 @@ } }, "socket.io": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", - "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz", + "integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==", "dev": true, "requires": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" + "@types/cookie": "^0.4.0", + "@types/cors": "^2.8.8", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.1", + "engine.io": "~4.1.0", + "socket.io-adapter": "~2.1.0", + "socket.io-parser": "~4.0.3" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz", + "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==", "dev": true }, - "socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", - "dev": true, - "requires": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - } - } - }, "socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -17002,9 +16806,9 @@ "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { "ms": "2.1.2" @@ -17625,12 +17429,6 @@ } } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -17827,9 +17625,9 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", - "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==", + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "dev": true }, "uglify-js": { @@ -18918,6 +18716,12 @@ } } }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true + }, "xhr": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", @@ -18963,12 +18767,6 @@ "cookiejar": "^2.1.1" } }, - "xmlhttprequest-ssl": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.2.tgz", - "integrity": "sha512-tYOaldF/0BLfKuoA39QMwD4j2m8lq4DIncqj1yuNELX4vz9+z/ieG/vwmctjJce+boFHXstqhWnHSxc4W8f4qg==", - "dev": true - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -19032,12 +18830,6 @@ "yargs": "^13.3.0" } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index 461f2f8d562..1b053ada903 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,7 @@ "ethers": "^5.4.4", "ganache-cli": "^6.12.0", "jshint": "^2.12.0", - "karma": "^5.2.3", + "karma": "^6.3.4", "karma-browserify": "^7.0.0", "karma-chrome-launcher": "^3.1.0", "karma-firefox-launcher": "^1.3.0", From 8ddf0815ed20bcdbd1a6036447be4cc29c3e0e47 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Aug 2021 13:42:45 +0200 Subject: [PATCH 03/25] upgrade lerna for sec issue fix --- package-lock.json | 7767 ++++++++++++++++++++++++++++----------------- package.json | 2 +- 2 files changed, 4796 insertions(+), 2973 deletions(-) diff --git a/package-lock.json b/package-lock.json index af92da2e455..d35c35524ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3024,1711 +3024,3050 @@ } } }, - "@evocateur/libnpmaccess": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", - "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - } - } - }, - "@evocateur/libnpmpublish": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", - "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - } - } + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true }, - "@evocateur/npm-registry-fetch": { + "@lerna/add": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz", + "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==", "dev": true, "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.1.2" - } - }, - "@evocateur/pacote": { - "version": "9.6.5", - "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", - "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "bluebird": "^3.5.3", - "cacache": "^12.0.3", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.5.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.4.4", - "npm-pick-manifest": "^3.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.3", - "safe-buffer": "^5.2.0", - "semver": "^5.7.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" + "@lerna/bootstrap": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "npm-package-arg": "^8.1.0", + "p-map": "^4.0.0", + "pacote": "^11.2.6", + "semver": "^7.3.4" }, "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "minimist": "^1.2.5" + "yallist": "^4.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "@lerna/add": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", - "integrity": "sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A==", - "dev": true, - "requires": { - "@evocateur/pacote": "^9.6.3", - "@lerna/bootstrap": "3.21.0", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/validation-error": "3.13.0", - "dedent": "^0.7.0", - "npm-package-arg": "^6.1.0", - "p-map": "^2.1.0", - "semver": "^6.2.0" - }, - "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, "@lerna/bootstrap": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.21.0.tgz", - "integrity": "sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/has-npm-version": "3.16.5", - "@lerna/npm-install": "3.16.5", - "@lerna/package-graph": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/rimraf-dir": "3.16.5", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/symlink-binary": "3.17.0", - "@lerna/symlink-dependencies": "3.17.0", - "@lerna/validation-error": "3.13.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz", + "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/has-npm-version": "4.0.0", + "@lerna/npm-install": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/rimraf-dir": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/symlink-binary": "4.0.0", + "@lerna/symlink-dependencies": "4.0.0", + "@lerna/validation-error": "4.0.0", "dedent": "^0.7.0", - "get-port": "^4.2.0", - "multimatch": "^3.0.0", - "npm-package-arg": "^6.1.0", + "get-port": "^5.1.1", + "multimatch": "^5.0.0", + "npm-package-arg": "^8.1.0", "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0", - "p-waterfall": "^1.0.0", - "read-package-tree": "^5.1.6", - "semver": "^6.2.0" + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1", + "read-package-tree": "^5.3.1", + "semver": "^7.3.4" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, "@lerna/changed": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.21.0.tgz", - "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz", + "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==", "dev": true, "requires": { - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/listable": "3.18.5", - "@lerna/output": "3.13.0" + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/listable": "4.0.0", + "@lerna/output": "4.0.0" } }, "@lerna/check-working-tree": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz", - "integrity": "sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz", + "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==", "dev": true, "requires": { - "@lerna/collect-uncommitted": "3.16.5", - "@lerna/describe-ref": "3.16.5", - "@lerna/validation-error": "3.13.0" + "@lerna/collect-uncommitted": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "@lerna/validation-error": "4.0.0" } }, "@lerna/child-process": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz", - "integrity": "sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==", - "dev": true, - "requires": { - "chalk": "^2.3.1", - "execa": "^1.0.0", - "strong-log-transformer": "^2.0.0" - } - }, - "@lerna/clean": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.21.0.tgz", - "integrity": "sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/rimraf-dir": "3.16.5", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0", - "p-waterfall": "^1.0.0" - } - }, - "@lerna/cli": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz", - "integrity": "sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz", + "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==", "dev": true, "requires": { - "@lerna/global-options": "3.13.0", - "dedent": "^0.7.0", - "npmlog": "^4.1.2", - "yargs": "^14.2.2" + "chalk": "^4.1.0", + "execa": "^5.0.0", + "strong-log-transformer": "^2.1.0" }, "dependencies": { - "yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" + "color-convert": "^2.0.1" } }, - "yargs-parser": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", - "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "@lerna/collect-uncommitted": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz", - "integrity": "sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "chalk": "^2.3.1", - "figgy-pudding": "^3.5.1", - "npmlog": "^4.1.2" - } - }, - "@lerna/collect-updates": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.20.0.tgz", - "integrity": "sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/describe-ref": "3.16.5", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "slash": "^2.0.0" - } - }, - "@lerna/command": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.21.0.tgz", - "integrity": "sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/package-graph": "3.18.5", - "@lerna/project": "3.21.0", - "@lerna/validation-error": "3.13.0", - "@lerna/write-log-file": "3.13.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^1.0.0", - "is-ci": "^2.0.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/conventional-commits": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz", - "integrity": "sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA==", - "dev": true, - "requires": { - "@lerna/validation-error": "3.13.0", - "conventional-changelog-angular": "^5.0.3", - "conventional-changelog-core": "^3.1.6", - "conventional-recommended-bump": "^5.0.0", - "fs-extra": "^8.1.0", - "get-stream": "^4.0.0", - "lodash.template": "^4.5.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "pify": "^4.0.1", - "semver": "^6.2.0" + "@lerna/clean": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz", + "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/rimraf-dir": "4.0.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1" }, "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "aggregate-error": "^3.0.0" } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true } } }, - "@lerna/create": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.22.0.tgz", - "integrity": "sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw==", + "@lerna/cli": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz", + "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==", "dev": true, "requires": { - "@evocateur/pacote": "^9.6.3", - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/validation-error": "3.13.0", - "camelcase": "^5.0.0", + "@lerna/global-options": "4.0.0", "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "globby": "^9.2.0", - "init-package-json": "^1.10.3", - "npm-package-arg": "^6.1.0", - "p-reduce": "^1.0.0", - "pify": "^4.0.1", - "semver": "^6.2.0", - "slash": "^2.0.0", - "validate-npm-package-license": "^3.0.3", - "validate-npm-package-name": "^3.0.0", - "whatwg-url": "^7.0.0" + "npmlog": "^4.1.2", + "yargs": "^16.2.0" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "path-type": "^3.0.0" + "color-convert": "^2.0.1" } }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "color-name": "~1.1.4" } }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } }, - "@lerna/create-symlink": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz", - "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==", + "@lerna/collect-uncommitted": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz", + "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==", "dev": true, "requires": { - "@zkochan/cmd-shim": "^3.1.0", - "fs-extra": "^8.1.0", + "@lerna/child-process": "4.0.0", + "chalk": "^4.1.0", "npmlog": "^4.1.2" }, "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "color-convert": "^2.0.1" } - } - } - }, - "@lerna/describe-ref": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", - "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2" - } - }, - "@lerna/diff": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", - "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/validation-error": "3.13.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/exec": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", - "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" - } - }, - "@lerna/filter-options": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.20.0.tgz", - "integrity": "sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g==", - "dev": true, - "requires": { - "@lerna/collect-updates": "3.20.0", - "@lerna/filter-packages": "3.18.0", - "dedent": "^0.7.0", - "figgy-pudding": "^3.5.1", - "npmlog": "^4.1.2" - } - }, - "@lerna/filter-packages": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz", - "integrity": "sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==", - "dev": true, - "requires": { - "@lerna/validation-error": "3.13.0", - "multimatch": "^3.0.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/get-npm-exec-opts": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz", - "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/get-packed": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz", - "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "ssri": "^6.0.1", - "tar": "^4.4.8" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "@lerna/github-client": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.22.0.tgz", - "integrity": "sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^16.28.4", - "git-url-parse": "^11.1.2", - "npmlog": "^4.1.2" - } - }, - "@lerna/gitlab-client": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz", - "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==", + "@lerna/collect-updates": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz", + "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==", "dev": true, "requires": { - "node-fetch": "^2.5.0", + "@lerna/child-process": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "minimatch": "^3.0.4", "npmlog": "^4.1.2", - "whatwg-url": "^7.0.0" - } - }, - "@lerna/global-options": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz", - "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==", - "dev": true - }, - "@lerna/has-npm-version": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz", - "integrity": "sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "semver": "^6.2.0" + "slash": "^3.0.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true } } }, - "@lerna/import": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.22.0.tgz", - "integrity": "sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg==", + "@lerna/command": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz", + "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==", "dev": true, "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/validation-error": "3.13.0", + "@lerna/child-process": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/project": "4.0.0", + "@lerna/validation-error": "4.0.0", + "@lerna/write-log-file": "4.0.0", + "clone-deep": "^4.0.1", "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "p-map-series": "^1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/info": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-3.21.0.tgz", - "integrity": "sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/output": "3.13.0", - "envinfo": "^7.3.1" + "execa": "^5.0.0", + "is-ci": "^2.0.0", + "npmlog": "^4.1.2" } }, - "@lerna/init": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.21.0.tgz", - "integrity": "sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg==", + "@lerna/conventional-commits": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz", + "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==", "dev": true, "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/command": "3.21.0", - "fs-extra": "^8.1.0", - "p-map": "^2.1.0", - "write-json-file": "^3.2.0" + "@lerna/validation-error": "4.0.0", + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-core": "^4.2.2", + "conventional-recommended-bump": "^6.1.0", + "fs-extra": "^9.1.0", + "get-stream": "^6.0.0", + "lodash.template": "^4.5.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "pify": "^5.0.0", + "semver": "^7.3.4" }, "dependencies": { "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } - } - } - }, - "@lerna/link": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.21.0.tgz", - "integrity": "sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/package-graph": "3.18.5", - "@lerna/symlink-dependencies": "3.17.0", - "p-map": "^2.1.0", - "slash": "^2.0.0" - } - }, - "@lerna/list": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.21.0.tgz", - "integrity": "sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/listable": "3.18.5", - "@lerna/output": "3.13.0" - } - }, - "@lerna/listable": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz", - "integrity": "sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==", - "dev": true, - "requires": { - "@lerna/query-graph": "3.18.5", - "chalk": "^2.3.1", - "columnify": "^1.5.4" - } - }, - "@lerna/log-packed": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz", - "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==", - "dev": true, - "requires": { - "byte-size": "^5.0.1", - "columnify": "^1.5.4", - "has-unicode": "^2.0.1", - "npmlog": "^4.1.2" - } - }, - "@lerna/npm-conf": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz", - "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==", - "dev": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^4.0.1" - } - }, - "@lerna/npm-dist-tag": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz", - "integrity": "sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==", - "dev": true, - "requires": { - "@evocateur/npm-registry-fetch": "^4.0.0", - "@lerna/otplease": "3.18.5", - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "@lerna/npm-install": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz", - "integrity": "sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==", + "@lerna/create": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz", + "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==", "dev": true, "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/get-npm-exec-opts": "3.13.0", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "signal-exit": "^3.0.2", - "write-pkg": "^3.1.0" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "init-package-json": "^2.0.2", + "npm-package-arg": "^8.1.0", + "p-reduce": "^2.1.0", + "pacote": "^11.2.6", + "pify": "^5.0.0", + "semver": "^7.3.4", + "slash": "^3.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0", + "whatwg-url": "^8.4.0", + "yargs-parser": "20.2.4" }, "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true } } }, - "@lerna/npm-publish": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz", - "integrity": "sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==", + "@lerna/create-symlink": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz", + "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==", "dev": true, "requires": { - "@evocateur/libnpmpublish": "^1.2.2", - "@lerna/otplease": "3.18.5", - "@lerna/run-lifecycle": "3.16.2", - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "pify": "^4.0.1", - "read-package-json": "^2.0.13" + "cmd-shim": "^4.1.0", + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2" }, "dependencies": { "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, - "@lerna/npm-run-script": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz", - "integrity": "sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==", + "@lerna/describe-ref": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz", + "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==", "dev": true, "requires": { - "@lerna/child-process": "3.16.5", - "@lerna/get-npm-exec-opts": "3.13.0", + "@lerna/child-process": "4.0.0", "npmlog": "^4.1.2" } }, - "@lerna/otplease": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz", - "integrity": "sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==", - "dev": true, - "requires": { - "@lerna/prompt": "3.18.5", - "figgy-pudding": "^3.5.1" - } - }, - "@lerna/output": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz", - "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==", + "@lerna/diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz", + "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==", "dev": true, "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/validation-error": "4.0.0", "npmlog": "^4.1.2" } }, - "@lerna/pack-directory": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz", - "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==", - "dev": true, - "requires": { - "@lerna/get-packed": "3.16.0", - "@lerna/package": "3.16.0", - "@lerna/run-lifecycle": "3.16.2", - "figgy-pudding": "^3.5.1", - "npm-packlist": "^1.4.4", - "npmlog": "^4.1.2", - "tar": "^4.4.10", - "temp-write": "^3.4.0" - } - }, - "@lerna/package": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz", - "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==", + "@lerna/exec": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz", + "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==", "dev": true, "requires": { - "load-json-file": "^5.3.0", - "npm-package-arg": "^6.1.0", - "write-pkg": "^3.1.0" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/profiler": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "p-map": "^4.0.0" }, "dependencies": { - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - } - }, - "parse-json": { + "p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "aggregate-error": "^3.0.0" } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true } } }, - "@lerna/package-graph": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz", - "integrity": "sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==", + "@lerna/filter-options": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz", + "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==", "dev": true, "requires": { - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/validation-error": "3.13.0", - "npm-package-arg": "^6.1.0", - "npmlog": "^4.1.2", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@lerna/collect-updates": "4.0.0", + "@lerna/filter-packages": "4.0.0", + "dedent": "^0.7.0", + "npmlog": "^4.1.2" } }, - "@lerna/prerelease-id-from-version": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz", - "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==", + "@lerna/filter-packages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz", + "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==", "dev": true, "requires": { - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@lerna/validation-error": "4.0.0", + "multimatch": "^5.0.0", + "npmlog": "^4.1.2" } }, - "@lerna/profiler": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-3.20.0.tgz", - "integrity": "sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg==", + "@lerna/get-npm-exec-opts": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz", + "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2", - "upath": "^1.2.0" + "npmlog": "^4.1.2" + } + }, + "@lerna/get-packed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz", + "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0", + "ssri": "^8.0.1", + "tar": "^6.1.0" }, "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@lerna/project": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.21.0.tgz", - "integrity": "sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A==", - "dev": true, - "requires": { - "@lerna/package": "3.16.0", - "@lerna/validation-error": "3.13.0", - "cosmiconfig": "^5.1.0", - "dedent": "^0.7.0", - "dot-prop": "^4.2.0", - "glob-parent": "^5.0.0", - "globby": "^9.2.0", - "load-json-file": "^5.3.0", - "npmlog": "^4.1.2", - "p-map": "^2.1.0", - "resolve-from": "^4.0.0", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } + "minipass": "^3.0.0" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "dev": true, "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" + "yallist": "^4.0.0" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "minipass": "^3.1.1" } }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", "dev": true, "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, - "@lerna/prompt": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", - "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", + "@lerna/github-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz", + "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==", "dev": true, "requires": { - "inquirer": "^6.2.0", + "@lerna/child-process": "4.0.0", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^18.1.0", + "git-url-parse": "^11.4.4", "npmlog": "^4.1.2" } }, - "@lerna/publish": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.22.1.tgz", - "integrity": "sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw==", - "dev": true, - "requires": { - "@evocateur/libnpmaccess": "^3.1.2", - "@evocateur/npm-registry-fetch": "^4.0.0", - "@evocateur/pacote": "^9.6.3", - "@lerna/check-working-tree": "3.16.5", - "@lerna/child-process": "3.16.5", - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/describe-ref": "3.16.5", - "@lerna/log-packed": "3.16.0", - "@lerna/npm-conf": "3.16.0", - "@lerna/npm-dist-tag": "3.18.5", - "@lerna/npm-publish": "3.18.5", - "@lerna/otplease": "3.18.5", - "@lerna/output": "3.13.0", - "@lerna/pack-directory": "3.16.4", - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/prompt": "3.18.5", - "@lerna/pulse-till-done": "3.13.0", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "@lerna/version": "3.22.1", - "figgy-pudding": "^3.5.1", - "fs-extra": "^8.1.0", - "npm-package-arg": "^6.1.0", + "@lerna/gitlab-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz", + "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==", + "dev": true, + "requires": { + "node-fetch": "^2.6.1", "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-pipe": "^1.2.0", - "semver": "^6.2.0" + "whatwg-url": "^8.4.0" + } + }, + "@lerna/global-options": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz", + "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==", + "dev": true + }, + "@lerna/has-npm-version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz", + "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "semver": "^7.3.4" }, "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "yallist": "^4.0.0" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, - "@lerna/pulse-till-done": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz", - "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, - "@lerna/query-graph": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz", - "integrity": "sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==", - "dev": true, - "requires": { - "@lerna/package-graph": "3.18.5", - "figgy-pudding": "^3.5.1" - } - }, - "@lerna/resolve-symlink": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz", - "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==", + "@lerna/import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz", + "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==", "dev": true, "requires": { - "fs-extra": "^8.1.0", - "npmlog": "^4.1.2", - "read-cmd-shim": "^1.0.1" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "p-map-series": "^2.1.0" }, "dependencies": { "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, - "@lerna/rimraf-dir": { - "version": "3.16.5", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz", - "integrity": "sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==", - "dev": true, - "requires": { - "@lerna/child-process": "3.16.5", - "npmlog": "^4.1.2", - "path-exists": "^3.0.0", - "rimraf": "^2.6.2" - } - }, - "@lerna/run": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.21.0.tgz", - "integrity": "sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q==", - "dev": true, - "requires": { - "@lerna/command": "3.21.0", - "@lerna/filter-options": "3.20.0", - "@lerna/npm-run-script": "3.16.5", - "@lerna/output": "3.13.0", - "@lerna/profiler": "3.20.0", - "@lerna/run-topologically": "3.18.5", - "@lerna/timer": "3.13.0", - "@lerna/validation-error": "3.13.0", - "p-map": "^2.1.0" - } - }, - "@lerna/run-lifecycle": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz", - "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==", - "dev": true, - "requires": { - "@lerna/npm-conf": "3.16.0", - "figgy-pudding": "^3.5.1", - "npm-lifecycle": "^3.1.2", - "npmlog": "^4.1.2" - } - }, - "@lerna/run-topologically": { - "version": "3.18.5", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz", - "integrity": "sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==", + "@lerna/info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz", + "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==", "dev": true, "requires": { - "@lerna/query-graph": "3.18.5", - "figgy-pudding": "^3.5.1", - "p-queue": "^4.0.0" + "@lerna/command": "4.0.0", + "@lerna/output": "4.0.0", + "envinfo": "^7.7.4" } }, - "@lerna/symlink-binary": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz", - "integrity": "sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==", + "@lerna/init": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz", + "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==", "dev": true, "requires": { - "@lerna/create-symlink": "3.16.2", - "@lerna/package": "3.16.0", - "fs-extra": "^8.1.0", - "p-map": "^2.1.0" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "write-json-file": "^4.3.0" }, "dependencies": { "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, - "@lerna/symlink-dependencies": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz", - "integrity": "sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==", - "dev": true, - "requires": { - "@lerna/create-symlink": "3.16.2", - "@lerna/resolve-symlink": "3.16.0", - "@lerna/symlink-binary": "3.17.0", - "fs-extra": "^8.1.0", - "p-finally": "^1.0.0", - "p-map": "^2.1.0", - "p-map-series": "^1.0.0" + "@lerna/link": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz", + "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/symlink-dependencies": "4.0.0", + "p-map": "^4.0.0", + "slash": "^3.0.0" }, "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "aggregate-error": "^3.0.0" } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true } } }, - "@lerna/timer": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz", - "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==", - "dev": true - }, - "@lerna/validation-error": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz", - "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==", + "@lerna/list": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz", + "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/listable": "4.0.0", + "@lerna/output": "4.0.0" } }, - "@lerna/version": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.22.1.tgz", - "integrity": "sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g==", - "dev": true, - "requires": { - "@lerna/check-working-tree": "3.16.5", - "@lerna/child-process": "3.16.5", - "@lerna/collect-updates": "3.20.0", - "@lerna/command": "3.21.0", - "@lerna/conventional-commits": "3.22.0", - "@lerna/github-client": "3.22.0", - "@lerna/gitlab-client": "3.15.0", - "@lerna/output": "3.13.0", - "@lerna/prerelease-id-from-version": "3.16.0", - "@lerna/prompt": "3.18.5", - "@lerna/run-lifecycle": "3.16.2", - "@lerna/run-topologically": "3.18.5", - "@lerna/validation-error": "3.13.0", - "chalk": "^2.3.1", - "dedent": "^0.7.0", - "load-json-file": "^5.3.0", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "p-map": "^2.1.0", - "p-pipe": "^1.2.0", - "p-reduce": "^1.0.0", - "p-waterfall": "^1.0.0", - "semver": "^6.2.0", - "slash": "^2.0.0", - "temp-write": "^3.4.0", - "write-json-file": "^3.2.0" + "@lerna/listable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz", + "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==", + "dev": true, + "requires": { + "@lerna/query-graph": "4.0.0", + "chalk": "^4.1.0", + "columnify": "^1.5.4" }, "dependencies": { - "load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" + "color-convert": "^2.0.1" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "@lerna/write-log-file": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz", - "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==", - "dev": true, - "requires": { - "npmlog": "^4.1.2", - "write-file-atomic": "^2.3.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", - "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "@lerna/log-packed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz", + "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==", "dev": true, "requires": { - "@octokit/types": "^6.0.3" + "byte-size": "^7.0.0", + "columnify": "^1.5.4", + "has-unicode": "^2.0.1", + "npmlog": "^4.1.2" } }, - "@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", + "@lerna/npm-conf": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz", + "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==", "dev": true, "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "config-chain": "^1.1.12", + "pify": "^5.0.0" }, "dependencies": { - "is-plain-object": { + "pify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true } } }, - "@octokit/openapi-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", - "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==", - "dev": true - }, - "@octokit/plugin-enterprise-rest": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", - "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", - "dev": true - }, - "@octokit/plugin-paginate-rest": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", - "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "@lerna/npm-dist-tag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz", + "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==", "dev": true, "requires": { - "@octokit/types": "^2.0.1" + "@lerna/otplease": "4.0.0", + "npm-package-arg": "^8.1.0", + "npm-registry-fetch": "^9.0.0", + "npmlog": "^4.1.2" }, "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "cacache": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", + "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, "requires": { - "@types/node": ">= 8" + "minipass": "^3.0.0" } - } - } - }, - "@octokit/plugin-request-log": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", - "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==", - "dev": true - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", - "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", - "dev": true, - "requires": { - "@octokit/types": "^2.0.1", - "deprecation": "^2.3.1" - }, - "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-fetch-happen": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", + "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "npm-registry-fetch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", + "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "dev": true, + "requires": { + "@npmcli/ci-detect": "^1.0.0", + "lru-cache": "^6.0.0", + "make-fetch-happen": "^8.0.9", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", "dev": true, "requires": { - "@types/node": ">= 8" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, - "@octokit/request": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", - "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", + "@lerna/npm-install": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz", + "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==", "dev": true, "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "universal-user-agent": "^6.0.0" + "@lerna/child-process": "4.0.0", + "@lerna/get-npm-exec-opts": "4.0.0", + "fs-extra": "^9.1.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "signal-exit": "^3.0.3", + "write-pkg": "^4.0.0" }, "dependencies": { - "@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true } } }, - "@octokit/request-error": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", - "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "@lerna/npm-publish": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz", + "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==", "dev": true, "requires": { - "@octokit/types": "^2.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@lerna/otplease": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "fs-extra": "^9.1.0", + "libnpmpublish": "^4.0.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "pify": "^5.0.0", + "read-package-json": "^3.0.0" }, "dependencies": { - "@octokit/types": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", - "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "@types/node": ">= 8" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } - } - } - }, - "@octokit/rest": { - "version": "16.43.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", - "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", - "dev": true, - "requires": { - "@octokit/auth-token": "^2.4.0", - "@octokit/plugin-paginate-rest": "^1.1.1", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "2.4.0", - "@octokit/request": "^5.2.0", - "@octokit/request-error": "^1.0.2", - "atob-lite": "^2.0.0", - "before-after-hook": "^2.0.0", - "btoa-lite": "^1.0.0", - "deprecation": "^2.0.0", - "lodash.get": "^4.4.2", - "lodash.set": "^4.3.2", - "lodash.uniq": "^4.5.0", - "octokit-pagination-methods": "^1.1.0", - "once": "^1.4.0", - "universal-user-agent": "^4.0.0" - } - }, - "@octokit/types": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", - "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", - "dev": true, - "requires": { - "@octokit/openapi-types": "^7.0.0" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "read-package-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz", + "integrity": "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/npm-run-script": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz", + "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/get-npm-exec-opts": "4.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/otplease": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz", + "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==", + "dev": true, + "requires": { + "@lerna/prompt": "4.0.0" + } + }, + "@lerna/output": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz", + "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/pack-directory": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz", + "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==", + "dev": true, + "requires": { + "@lerna/get-packed": "4.0.0", + "@lerna/package": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "npm-packlist": "^2.1.4", + "npmlog": "^4.1.2", + "tar": "^6.1.0", + "temp-write": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/package": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz", + "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==", + "dev": true, + "requires": { + "load-json-file": "^6.2.0", + "npm-package-arg": "^8.1.0", + "write-pkg": "^4.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } + } + }, + "@lerna/package-graph": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz", + "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==", + "dev": true, + "requires": { + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/validation-error": "4.0.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "semver": "^7.3.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/prerelease-id-from-version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz", + "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==", + "dev": true, + "requires": { + "semver": "^7.3.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/profiler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz", + "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2", + "upath": "^2.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "dev": true + } + } + }, + "@lerna/project": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz", + "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==", + "dev": true, + "requires": { + "@lerna/package": "4.0.0", + "@lerna/validation-error": "4.0.0", + "cosmiconfig": "^7.0.0", + "dedent": "^0.7.0", + "dot-prop": "^6.0.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.2", + "load-json-file": "^6.2.0", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "resolve-from": "^5.0.0", + "write-json-file": "^4.3.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } + } + }, + "@lerna/prompt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz", + "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==", + "dev": true, + "requires": { + "inquirer": "^7.3.3", + "npmlog": "^4.1.2" + } + }, + "@lerna/publish": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz", + "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==", + "dev": true, + "requires": { + "@lerna/check-working-tree": "4.0.0", + "@lerna/child-process": "4.0.0", + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "@lerna/log-packed": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/npm-dist-tag": "4.0.0", + "@lerna/npm-publish": "4.0.0", + "@lerna/otplease": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/pack-directory": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "@lerna/version": "4.0.0", + "fs-extra": "^9.1.0", + "libnpmaccess": "^4.0.1", + "npm-package-arg": "^8.1.0", + "npm-registry-fetch": "^9.0.0", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "pacote": "^11.2.6", + "semver": "^7.3.4" + }, + "dependencies": { + "cacache": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", + "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-fetch-happen": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", + "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "npm-registry-fetch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", + "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "dev": true, + "requires": { + "@npmcli/ci-detect": "^1.0.0", + "lru-cache": "^6.0.0", + "make-fetch-happen": "^8.0.9", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/pulse-till-done": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz", + "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/query-graph": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz", + "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==", + "dev": true, + "requires": { + "@lerna/package-graph": "4.0.0" + } + }, + "@lerna/resolve-symlink": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz", + "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2", + "read-cmd-shim": "^2.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/rimraf-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz", + "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "npmlog": "^4.1.2", + "path-exists": "^4.0.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@lerna/run": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz", + "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/npm-run-script": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/profiler": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/timer": "4.0.0", + "@lerna/validation-error": "4.0.0", + "p-map": "^4.0.0" + }, + "dependencies": { + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + } + } + }, + "@lerna/run-lifecycle": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz", + "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==", + "dev": true, + "requires": { + "@lerna/npm-conf": "4.0.0", + "npm-lifecycle": "^3.1.5", + "npmlog": "^4.1.2" + } + }, + "@lerna/run-topologically": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz", + "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==", + "dev": true, + "requires": { + "@lerna/query-graph": "4.0.0", + "p-queue": "^6.6.2" + } + }, + "@lerna/symlink-binary": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz", + "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==", + "dev": true, + "requires": { + "@lerna/create-symlink": "4.0.0", + "@lerna/package": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/symlink-dependencies": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz", + "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==", + "dev": true, + "requires": { + "@lerna/create-symlink": "4.0.0", + "@lerna/resolve-symlink": "4.0.0", + "@lerna/symlink-binary": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/timer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz", + "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==", + "dev": true + }, + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz", + "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==", + "dev": true, + "requires": { + "@lerna/check-working-tree": "4.0.0", + "@lerna/child-process": "4.0.0", + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/conventional-commits": "4.0.0", + "@lerna/github-client": "4.0.0", + "@lerna/gitlab-client": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "chalk": "^4.1.0", + "dedent": "^0.7.0", + "load-json-file": "^6.2.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "p-reduce": "^2.1.0", + "p-waterfall": "^2.1.1", + "semver": "^7.3.4", + "slash": "^3.0.0", + "temp-write": "^4.0.0", + "write-json-file": "^4.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/write-log-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz", + "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==", + "dev": true, + "requires": { + "npmlog": "^4.1.2", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", + "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, + "@npmcli/ci-detect": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz", + "integrity": "sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==", + "dev": true + }, + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@npmcli/node-gyp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz", + "integrity": "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.5.tgz", + "integrity": "sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "infer-owner": "^1.0.4", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@octokit/auth-token": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", + "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3" + } + }, + "@octokit/core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", + "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", + "dev": true, + "requires": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "@octokit/graphql": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.4.tgz", + "integrity": "sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==", + "dev": true, + "requires": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.6.0.tgz", + "integrity": "sha512-L+8x7DpcNtHkMbTxxCxg3cozvHUNP46rOIzFwoMs0piWwQzAGNXqlIQO2GLvnKTWLUh99DkY+UyHVrP4jXlowg==", + "dev": true + }, + "@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz", + "integrity": "sha512-47r52KkhQDkmvUKZqXzA1lKvcyJEfYh3TKAIe5+EzMeyDM3d+/s5v11i2gTk8/n6No6DPi3k5Ind6wtDbo/AEg==", + "dev": true, + "requires": { + "@octokit/types": "^6.24.0" + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.7.0.tgz", + "integrity": "sha512-G7sgccWRYQMwcHJXkDY/sDxbXeKiZkFQqUtzBCwmrzCNj2GQf3VygQ4T/BFL2crLVpIbenkE/c0ErhYOte2MPw==", + "dev": true, + "requires": { + "@octokit/types": "^6.24.0", + "deprecation": "^2.3.1" + } + }, + "@octokit/request": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz", + "integrity": "sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA==", + "dev": true, + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/rest": { + "version": "18.9.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.9.0.tgz", + "integrity": "sha512-VrmrE8gjpuOoDAGjrQq2j9ZhOE6LxaqxaQg0yMrrEnnQZy2ZcAnr5qbVfKsMF0up/48PRV/VFS/2GSMhA7nTdA==", + "dev": true, + "requires": { + "@octokit/core": "^3.5.0", + "@octokit/plugin-paginate-rest": "^2.6.2", + "@octokit/plugin-request-log": "^1.0.2", + "@octokit/plugin-rest-endpoint-methods": "5.7.0" + } + }, + "@octokit/types": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.25.0.tgz", + "integrity": "sha512-bNvyQKfngvAd/08COlYIN54nRgxskmejgywodizQNyiKoXmWRAjKup2/LYwm+T9V0gsKH6tuld1gM0PzmOiB4Q==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^9.5.0" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", "dev": true, "requires": { "defer-to-connect": "^1.0.1" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, "@types/anymatch": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", @@ -4791,9 +6130,9 @@ "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/node": { @@ -4803,9 +6142,15 @@ "dev": true }, "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, "@types/pbkdf2": { @@ -5083,17 +6428,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "@zkochan/cmd-shim": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz", - "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==", - "dev": true, - "requires": { - "is-windows": "^1.0.0", - "mkdirp-promise": "^5.0.1", - "mz": "^2.5.0" - } - }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -5143,6 +6477,12 @@ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, "aes-js": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", @@ -5150,21 +6490,67 @@ "dev": true }, "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", + "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", "dev": true, "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", "humanize-ms": "^1.2.1" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, "ajv": { @@ -5198,10 +6584,21 @@ "dev": true }, "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } }, "ansi-regex": { "version": "4.1.0", @@ -5218,12 +6615,6 @@ "color-convert": "^1.9.0" } }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -5312,9 +6703,9 @@ "dev": true }, "array-differ": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz", - "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true }, "array-filter": { @@ -5323,12 +6714,6 @@ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", "dev": true }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -5363,9 +6748,9 @@ "dev": true }, "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, "asap": { @@ -5459,18 +6844,18 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", - "dev": true - }, "available-typed-arrays": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", @@ -5681,9 +7066,9 @@ "dev": true }, "before-after-hook": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", - "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", "dev": true }, "big.js": { @@ -6099,12 +7484,6 @@ "safe-buffer": "^5.1.2" } }, - "btoa-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", - "dev": true - }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -6188,9 +7567,9 @@ "dev": true }, "byte-size": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz", - "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", + "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", "dev": true }, "bytes": { @@ -6310,12 +7689,6 @@ "get-intrinsic": "^1.0.2" } }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -6604,6 +7977,12 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, "clean-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", @@ -6625,18 +8004,18 @@ } }, "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "^3.1.0" } }, "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "cliui": { @@ -6676,6 +8055,15 @@ "mimic-response": "^1.0.0" } }, + "cmd-shim": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", + "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", + "dev": true, + "requires": { + "mkdirp-infer-owner": "^2.0.0" + } + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -6805,12 +8193,6 @@ "requires": { "is-obj": "^2.0.0" } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true } } }, @@ -6839,9 +8221,9 @@ } }, "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "requires": { "ini": "^1.3.4", @@ -6915,24 +8297,25 @@ } }, "conventional-changelog-core": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", - "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.3.tgz", + "integrity": "sha512-MwnZjIoMRL3jtPH5GywVNqetGILC7g6RQFvdb8LRU/fA/338JbeWAku3PZ8yQ+mtVRViiISqJlb0sOz0htBZig==", "dev": true, "requires": { - "conventional-changelog-writer": "^4.0.6", - "conventional-commits-parser": "^3.0.3", + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^2.0.3", - "lodash": "^4.2.1", - "normalize-package-data": "^2.3.5", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", "q": "^1.5.1", "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", - "through2": "^3.0.0" + "through2": "^4.0.0" }, "dependencies": { "find-up": { @@ -6944,6 +8327,15 @@ "locate-path": "^2.0.0" } }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -6966,6 +8358,27 @@ "path-exists": "^3.0.0" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -7024,6 +8437,32 @@ "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "read-pkg-up": { @@ -7036,6 +8475,26 @@ "read-pkg": "^3.0.0" } }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7043,14 +8502,19 @@ "dev": true }, "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "readable-stream": "3" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, @@ -7061,12 +8525,11 @@ "dev": true }, "conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", + "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", "dev": true, "requires": { - "compare-func": "^2.0.0", "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", "handlebars": "^4.7.6", @@ -7154,38 +8617,21 @@ } }, "conventional-recommended-bump": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz", - "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, "requires": { "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.1.1", - "conventional-commits-filter": "^2.0.2", - "conventional-commits-parser": "^3.0.3", - "git-raw-commits": "2.0.0", - "git-semver-tags": "^2.0.3", - "meow": "^4.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", "q": "^1.5.1" }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, "concat-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", @@ -7198,152 +8644,6 @@ "typedarray": "^0.0.6" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -7354,34 +8654,6 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true } } }, @@ -7601,15 +8873,6 @@ "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", "dev": true }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, "custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", @@ -7633,13 +8896,10 @@ } }, "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true }, "dash-ast": { "version": "1.0.0", @@ -8171,12 +9431,12 @@ } }, "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "^2.0.0" } }, "duplexer": { @@ -8272,15 +9532,17 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, + "optional": true, "requires": { "iconv-lite": "^0.6.2" }, "dependencies": { "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -8391,9 +9653,9 @@ "dev": true }, "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, "errno": { @@ -8477,21 +9739,6 @@ "es6-symbol": "^3.1.1" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -8973,18 +10220,75 @@ } }, "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "exit": { @@ -9320,9 +10624,9 @@ "dev": true }, "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -10098,986 +11402,672 @@ "requires": { "wrappy": "1" } - }, - "os-locale": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "pbkdf2": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pump": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "randombytes": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ripemd160": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.6", - "bundled": true, - "dev": true, - "requires": { - "bn.js": "^4.11.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "bundled": true, - "dev": true - }, - "scrypt-js": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "secp256k1": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "bundled": true, - "dev": true - }, - "source-map": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "source-map-support": { - "version": "0.5.12", - "bundled": true, - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "string-width": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strip-hex-prefix": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "which": { - "version": "1.3.1", + }, + "os-locale": { + "version": "3.1.0", "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, - "which-module": { - "version": "2.0.0", + "p-defer": { + "version": "1.0.0", "bundled": true, "dev": true }, - "wrap-ansi": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "wrappy": { - "version": "1.0.2", + "p-finally": { + "version": "1.0.0", "bundled": true, "dev": true }, - "y18n": { - "version": "4.0.0", + "p-is-promise": { + "version": "2.1.0", "bundled": true, "dev": true }, - "yargs": { - "version": "13.2.4", + "p-limit": { + "version": "2.3.0", "bundled": true, "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" + "p-try": "^2.0.0" } }, - "yargs-parser": { - "version": "13.1.2", + "p-locate": { + "version": "3.0.0", "bundled": true, "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "p-limit": "^2.0.0" } - } - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + }, + "p-try": { + "version": "2.2.0", + "bundled": true, "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "pump": { + "version": "3.0.0", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } - } - } - }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true }, - "camelcase-keys": { + "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "bundled": true, "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "safe-buffer": "^5.1.0" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "readable-stream": { + "version": "3.6.0", + "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "require-directory": { + "version": "2.1.1", + "bundled": true, "dev": true }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } + "require-main-filename": { + "version": "2.0.0", + "bundled": true, + "dev": true }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "ripemd160": { + "version": "2.0.2", + "bundled": true, "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "rlp": { + "version": "2.2.6", + "bundled": true, "dev": true, "requires": { - "get-stdin": "^4.0.1" + "bn.js": "^4.11.1" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "safe-buffer": { + "version": "5.2.1", + "bundled": true, "dev": true - } - } - }, - "get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", - "dev": true, - "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + }, + "scrypt-js": { + "version": "3.0.1", + "bundled": true, "dev": true }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "secp256k1": { + "version": "4.0.2", + "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } + "semver": { + "version": "5.7.1", + "bundled": true, + "dev": true }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "set-blocking": { + "version": "2.0.0", + "bundled": true, "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "setimmediate": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "shebang-command": { + "version": "1.2.0", + "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "shebang-regex": "^1.0.0" } }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "shebang-regex": { + "version": "1.0.0", + "bundled": true, "dev": true }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "signal-exit": { + "version": "3.0.3", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "source-map-support": { + "version": "0.5.12", + "bundled": true, "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "string-width": { + "version": "3.1.0", + "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, - "p-limit": { + "string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "safe-buffer": "~5.2.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "strip-ansi": { + "version": "5.2.0", + "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "ansi-regex": "^4.1.0" } }, - "p-try": { + "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "strip-hex-prefix": { + "version": "1.0.0", + "bundled": true, "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "is-hex-prefixed": "1.0.0" } }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "which": { + "version": "1.3.1", + "bundled": true, "dev": true, "requires": { - "pify": "^3.0.0" + "isexe": "^2.0.0" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "which-module": { + "version": "2.0.0", + "bundled": true, "dev": true }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "wrap-ansi": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, "dev": true }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "13.2.4", + "bundled": true, "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "yargs-parser": { + "version": "13.1.2", + "bundled": true, "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "number-is-nan": "^1.0.0" } }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "through2": "^2.0.2" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } } } }, - "git-remote-origin-url": { + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-func-name": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" } }, - "git-semver-tags": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", - "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "get-pkg-repo": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.1.2.tgz", + "integrity": "sha512-/FjamZL9cBYllEbReZkxF2IMh80d8TJoC4e3bmLNif8ibHw95aj0N/tzqK0kZz9eU/3w3dL6lF4fnnX/sDdW3A==", "dev": true, "requires": { - "meow": "^4.0.0", - "semver": "^6.0.0" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "meow": "^7.0.0", + "through2": "^2.0.0" }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "lru-cache": "^6.0.0" } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "yallist": "^4.0.0" } }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "meow": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-limit": "^2.2.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } } }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { - "pify": "^3.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "dev": true }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + } + } + }, + "get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", + "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "readable-stream": "3" } - }, + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true } } }, "git-up": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", - "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", "dev": true, "requires": { "is-ssh": "^1.3.0", - "parse-url": "^5.0.0" + "parse-url": "^6.0.0" } }, "git-url-parse": { - "version": "11.4.4", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz", - "integrity": "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==", + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.5.0.tgz", + "integrity": "sha512-TZYSMDeM37r71Lqg1mbnMlOqlHd7BSij9qN7XwTkRqSAYFMihGLGhfHwgqQob3GUhEneKnV4nskN9rbQw2KGxA==", "dev": true, "requires": { "git-up": "^4.0.0" @@ -11126,6 +12116,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, + "optional": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -11136,18 +12127,13 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, + "optional": true, "requires": { "is-extglob": "^2.1.0" } } } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, "global": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", @@ -11575,23 +12561,30 @@ } }, "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "requires": { - "agent-base": "4", - "debug": "3.1.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -11613,32 +12606,38 @@ "dev": true }, "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "agent-base": "6", + "debug": "4" }, "dependencies": { "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -11786,19 +12785,78 @@ "dev": true }, "init-package-json": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", - "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.3.tgz", + "integrity": "sha512-tk/gAgbMMxR6fn1MgMaM1HpU1ryAmBWWitnxG5OhuNXeX0cbpbgV5jA4AIpQJVNoyOfOevTtO6WX+rPs+EFqaQ==", "dev": true, "requires": { "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "npm-package-arg": "^8.1.2", "promzard": "^0.3.0", "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", + "read-package-json": "^3.0.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "read-package-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz", + "integrity": "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "inline-source-map": { @@ -11811,51 +12869,111 @@ } }, "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "dependencies": { "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } @@ -12061,12 +13179,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -12100,6 +13212,12 @@ "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", "dev": true }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -12133,9 +13251,9 @@ "dev": true }, "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-object": { @@ -12209,9 +13327,9 @@ "dev": true }, "is-ssh": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz", - "integrity": "sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", + "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", "dev": true, "requires": { "protocols": "^1.1.0" @@ -12902,30 +14020,170 @@ "invert-kv": "^1.0.0" } }, - "lerna": { - "version": "3.22.1", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.22.1.tgz", - "integrity": "sha512-vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg==", - "dev": true, - "requires": { - "@lerna/add": "3.21.0", - "@lerna/bootstrap": "3.21.0", - "@lerna/changed": "3.21.0", - "@lerna/clean": "3.21.0", - "@lerna/cli": "3.18.5", - "@lerna/create": "3.22.0", - "@lerna/diff": "3.21.0", - "@lerna/exec": "3.21.0", - "@lerna/import": "3.22.0", - "@lerna/info": "3.21.0", - "@lerna/init": "3.21.0", - "@lerna/link": "3.21.0", - "@lerna/list": "3.21.0", - "@lerna/publish": "3.22.1", - "@lerna/run": "3.21.0", - "@lerna/version": "3.22.1", - "import-local": "^2.0.0", - "npmlog": "^4.1.2" + "lerna": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz", + "integrity": "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==", + "dev": true, + "requires": { + "@lerna/add": "4.0.0", + "@lerna/bootstrap": "4.0.0", + "@lerna/changed": "4.0.0", + "@lerna/clean": "4.0.0", + "@lerna/cli": "4.0.0", + "@lerna/create": "4.0.0", + "@lerna/diff": "4.0.0", + "@lerna/exec": "4.0.0", + "@lerna/import": "4.0.0", + "@lerna/info": "4.0.0", + "@lerna/init": "4.0.0", + "@lerna/link": "4.0.0", + "@lerna/list": "4.0.0", + "@lerna/publish": "4.0.0", + "@lerna/run": "4.0.0", + "@lerna/version": "4.0.0", + "import-local": "^3.0.2", + "npmlog": "^4.1.2" + }, + "dependencies": { + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "libnpmaccess": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz", + "integrity": "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==", + "dev": true, + "requires": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^11.0.0" + }, + "dependencies": { + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "libnpmpublish": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz", + "integrity": "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==", + "dev": true, + "requires": { + "normalize-package-data": "^3.0.2", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^11.0.0", + "semver": "^7.1.3", + "ssri": "^8.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "lines-and-columns": { @@ -13011,12 +14269,6 @@ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", "dev": true }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -13029,12 +14281,6 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, "lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", @@ -13047,18 +14293,6 @@ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", "dev": true }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, "lodash.template": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", @@ -13084,12 +14318,6 @@ "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", "dev": true }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -13129,16 +14357,6 @@ } } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -13154,12 +14372,6 @@ "yallist": "^3.0.2" } }, - "macos-release": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz", - "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==", - "dev": true - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -13177,28 +14389,142 @@ "dev": true }, "make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.0.4.tgz", + "integrity": "sha512-sQWNKMYqSmbAGXqJg2jZ+PmHh5JAybvwu0xM8mZR/bsTjGiTASj3ldXJV7KFHy1k/IJIBkjxQFoWIVsv9+PQMg==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" }, "dependencies": { - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "cacache": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", + "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -13437,9 +14763,9 @@ "dev": true }, "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } @@ -13467,6 +14793,12 @@ } } }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -13532,9 +14864,9 @@ } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "mimic-response": { @@ -13564,46 +14896,224 @@ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimalistic-crypto-utils": { + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + } + } + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-fetch": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.4.tgz", + "integrity": "sha512-TielGogIzbUEtd1LsjZFs47RWuHHfhl6TiCx1InVxApBAmQ8bL0dL5ilkLGcRvuyW/A9nE+Lvn855Ewz8S0PnQ==", + "dev": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-json-stream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "minizlib": { @@ -13666,6 +15176,25 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, + "mkdirp-infer-owner": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", + "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + } + } + }, "mkdirp-promise": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", @@ -13908,34 +15437,32 @@ } }, "multimatch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz", - "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", "dev": true, "requires": { - "array-differ": "^2.0.3", - "array-union": "^1.0.2", - "arrify": "^1.0.1", + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", "minimatch": "^3.0.4" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + } } }, "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, "nan": { "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", @@ -14043,17 +15570,6 @@ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, - "node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - } - }, "node-gyp": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", @@ -14235,6 +15751,41 @@ "npm-normalize-package-bin": "^1.0.1" } }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "requires": { + "semver": "^7.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "npm-lifecycle": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", @@ -14266,46 +15817,157 @@ "dev": true }, "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", + "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", "dev": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", "npm-normalize-package-bin": "^1.0.1" } }, "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "dev": true, + "requires": { + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "^3.0.0" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + } } }, "npmlog": { @@ -14510,12 +16172,6 @@ "http-https": "^1.0.0" } }, - "octokit-pagination-methods": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", - "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", - "dev": true - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -14535,12 +16191,12 @@ } }, "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "^2.1.0" } }, "os-browserify": { @@ -14564,16 +16220,6 @@ "lcid": "^1.0.0" } }, - "os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", - "dev": true, - "requires": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" - } - }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -14633,41 +16279,42 @@ "dev": true }, "p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", + "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", + "dev": true }, "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", "dev": true }, "p-queue": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-4.0.0.tgz", - "integrity": "sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "dev": true, "requires": { - "eventemitter3": "^3.1.0" + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" }, "dependencies": { - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", - "dev": true + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } } } }, "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true }, "p-timeout": { @@ -14686,12 +16333,12 @@ "dev": true }, "p-waterfall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-1.0.0.tgz", - "integrity": "sha1-ftlLPOszMngjU69qrhGqn8I1uwA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz", + "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==", "dev": true, "requires": { - "p-reduce": "^1.0.0" + "p-reduce": "^2.0.0" } }, "package-hash": { @@ -14706,6 +16353,150 @@ "release-zalgo": "^1.0.0" } }, + "pacote": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", + "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==", + "dev": true, + "requires": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.8.2", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "dependencies": { + "cacache": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", + "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "tar": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -14723,6 +16514,23 @@ "readable-stream": "^2.1.5" } }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, "parents": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", @@ -14745,12 +16553,6 @@ "safe-buffer": "^5.1.1" } }, - "parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, "parse-headers": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", @@ -14814,21 +16616,21 @@ } }, "parse-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.2.tgz", - "integrity": "sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", + "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==", "dev": true, "requires": { "is-ssh": "^1.3.0", - "normalize-url": "^3.3.0", + "normalize-url": "^6.1.0", "parse-path": "^4.0.0", "protocols": "^1.4.0" }, "dependencies": { "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true } } @@ -14855,7 +16657,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "dev": true, + "optional": true }, "path-exists": { "version": "3.0.0", @@ -15143,13 +16946,13 @@ "dev": true }, "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" } }, "promzard": { @@ -15173,15 +16976,6 @@ "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", "dev": true }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, - "requires": { - "genfun": "^5.0.0" - } - }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -15375,13 +17169,10 @@ } }, "read-cmd-shim": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz", - "integrity": "sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz", + "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==", + "dev": true }, "read-only-stream": { "version": "2.0.0", @@ -15404,6 +17195,16 @@ "npm-normalize-package-bin": "^1.0.0" } }, + "read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, "read-package-tree": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", @@ -15611,15 +17412,6 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -15750,12 +17542,12 @@ } }, "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { - "onetime": "^2.0.0", + "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, @@ -15766,9 +17558,9 @@ "dev": true }, "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, "reusify": { @@ -16125,9 +17917,9 @@ "dev": true }, "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true }, "snapdragon": { @@ -16306,33 +18098,40 @@ } }, "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", "dev": true, "requires": { - "ip": "1.1.5", + "ip": "^1.1.5", "smart-buffer": "^4.1.0" } }, "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", "dev": true, "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" }, "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -16897,10 +18696,10 @@ "is-utf8": "^0.2.0" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-hex-prefix": { @@ -17153,32 +18952,37 @@ "dev": true }, "temp-write": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz", - "integrity": "sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz", + "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "is-stream": "^1.1.0", - "make-dir": "^1.0.0", - "pify": "^3.0.0", + "graceful-fs": "^4.1.15", + "is-stream": "^2.0.0", + "make-dir": "^3.0.0", "temp-dir": "^1.0.0", - "uuid": "^3.0.1" + "uuid": "^3.3.2" }, "dependencies": { + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "pify": "^3.0.0" + "semver": "^6.0.0" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -17360,24 +19164,6 @@ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -17506,12 +19292,12 @@ } }, "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "^2.1.1" } }, "trim-newlines": { @@ -17588,9 +19374,9 @@ "dev": true }, "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true }, "type-is": { @@ -17631,9 +19417,9 @@ "dev": true }, "uglify-js": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", - "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", + "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", "dev": true, "optional": true }, @@ -17757,13 +19543,10 @@ } }, "universal-user-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", - "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", - "dev": true, - "requires": { - "os-name": "^3.1.0" - } + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true }, "universalify": { "version": "0.1.2", @@ -17821,7 +19604,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "dev": true, + "optional": true }, "uri-js": { "version": "4.4.1", @@ -18381,9 +20165,9 @@ } }, "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, "webpack": { @@ -18508,14 +20292,14 @@ } }, "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" } }, "which": { @@ -18609,15 +20393,6 @@ "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", "dev": true }, - "windows-release": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", - "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", - "dev": true, - "requires": { - "execa": "^1.0.0" - } - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -18662,56 +20437,98 @@ } }, "write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", "dev": true, "requires": { - "detect-indent": "^5.0.0", + "detect-indent": "^6.0.0", "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "dev": true, + "requires": { + "is-plain-obj": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } } }, "write-pkg": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", - "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", "dev": true, "requires": { "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" }, "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "type-fest": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", "dev": true }, "write-json-file": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", - "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", "dev": true, "requires": { "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "write-file-atomic": "^2.4.2" } } } @@ -18791,6 +20608,12 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", diff --git a/package.json b/package.json index 1b053ada903..18d09f803a9 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "karma-firefox-launcher": "^1.3.0", "karma-mocha": "^2.0.1", "karma-spec-reporter": "0.0.32", - "lerna": "^3.22.1", + "lerna": "^4.0.0", "mocha": "^6.2.3", "nyc": "^14.1.1", "pify": "^4.0.1", From e9dcb7f5de10aa380b124fda0f69fe8e7c3cd11b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Aug 2021 14:19:28 +0200 Subject: [PATCH 04/25] change log --- CHANGELOG.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 753d57edac5..dba43a4c36b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -425,6 +425,12 @@ Released with 1.0.0-beta.37 code base. - Add block tag support (e.g. `latest`, `pending`, `earliest`) to `getFeeHistory` (#4224) - Support for EIP-1559 to `web3.eth.sendTransaction` (#4220) +## [1.5.2] + ## [Unreleased] -## [1.5.2] +### Changed + +- ethers from 5.1.4 to 5.4.4 +- karma from 5.2.3 to 6.3.4 +- lerna from 3.22.1 to 4.0.0 \ No newline at end of file From c2d5c617a05b36311565c044582a23533972d27a Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Aug 2021 19:25:24 +0200 Subject: [PATCH 05/25] removed node 8 web31x build tests --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6db0c29cd1..bd2612657c8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,7 +46,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [8, 10, 11, 12, 13] + node: [10, 11, 12, 13] env: TEST: "unit" steps: From 0d72ac8600de2e835f95caad3c2306ae90823101 Mon Sep 17 00:00:00 2001 From: jdevcs Date: Wed, 11 Aug 2021 19:45:50 +0200 Subject: [PATCH 06/25] included node 14 and removed node 10 buildtestruns --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bd2612657c8..8ce6a1939ec 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,7 +46,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [10, 11, 12, 13] + node: [11, 12, 13, 14] env: TEST: "unit" steps: @@ -125,7 +125,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [10, 11, 12, 13] + node: [ 11, 12, 13, 14] env: TEST: "eth2" steps: From e1556ff153e44091190ee031e3d0a316a0179578 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Sat, 14 Aug 2021 14:44:08 -1000 Subject: [PATCH 07/25] Don't default type = 0x0 for eth_sendTransaction and eth_sendRawTransaction (#4241) * Remove type = 0x0 default * Update gasPrice short circuit check * Update tests - remove type: 0x0 * Update CHANGELOG * Apply patch fix to web3-eth-accounts * Remove tx type defaulting * update CHANGELOG * update failing test * Remove unused import * Add quick check that user can pass type, and it's retained --- CHANGELOG.md | 5 ++ packages/web3-core-method/src/index.js | 114 +++++++----------------- packages/web3-eth-accounts/src/index.js | 7 +- test/contract.js | 4 +- test/eth.sendTransaction.js | 3 +- test/method.buildCall.js | 5 +- 6 files changed, 46 insertions(+), 92 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 753d57edac5..802e81d0213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -428,3 +428,8 @@ Released with 1.0.0-beta.37 code base. ## [Unreleased] ## [1.5.2] + +### Fixed + +- Remove transaction `type` defaulting for `eth.sendTransaction`, `eth.sendRawTransaction` (#4241) +- `type: 0x0` was being added to legacy transaction when using `eth.signTransaction` (#4241) diff --git a/packages/web3-core-method/src/index.js b/packages/web3-core-method/src/index.js index 319d66ffc97..fddedbd0136 100644 --- a/packages/web3-core-method/src/index.js +++ b/packages/web3-core-method/src/index.js @@ -28,7 +28,6 @@ var formatters = require('web3-core-helpers').formatters; var utils = require('web3-utils'); var promiEvent = require('web3-core-promievent'); var Subscriptions = require('web3-core-subscriptions').subscriptions; -var HardForks = require('@ethereumjs/common').Hardfork; var EthersTransactionUtils = require('@ethersproject/transactions'); @@ -782,9 +781,6 @@ Method.prototype.buildCall = function () { ) ) ) { - if (typeof payload.params[0].type === 'undefined') - payload.params[0].type = _handleTxType(payload.params[0]); - _handleTxPricing(method, payload.params[0]).then(txPricing => { if (txPricing.gasPrice !== undefined) { payload.params[0].gasPrice = txPricing.gasPrice; @@ -830,46 +826,6 @@ Method.prototype.buildCall = function () { return send; }; -function _handleTxType(tx) { - // Taken from https://github.com/ethers-io/ethers.js/blob/2a7ce0e72a1e0c9469e10392b0329e75e341cf18/packages/abstract-signer/src.ts/index.ts#L215 - const hasEip1559 = (tx.maxFeePerGas !== undefined || tx.maxPriorityFeePerGas !== undefined); - - let txType; - - if (tx.type !== undefined) { - txType = utils.toHex(tx.type) - } else if (tx.type === undefined && hasEip1559) { - txType = '0x2' - } else { - txType = '0x0' - } - - if (tx.gasPrice !== undefined && (txType === '0x2' || hasEip1559)) - throw Error("eip-1559 transactions don't support gasPrice"); - if ((txType === '0x1' || txType === '0x0') && hasEip1559) - throw Error("pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas"); - - if ( - hasEip1559 || - ( - (tx.common && tx.common.hardfork && tx.common.hardfork.toLowerCase() === HardForks.London) || - (tx.hardfork && tx.hardfork.toLowerCase() === HardForks.London) - ) - ) { - txType = '0x2'; - } else if ( - tx.accessList || - ( - (tx.common && tx.common.hardfork && tx.common.hardfork.toLowerCase() === HardForks.Berlin) || - (tx.hardfork && tx.hardfork.toLowerCase() === HardForks.Berlin) - ) - ) { - txType = '0x1'; - } - - return txType -} - function _handleTxPricing(method, tx) { return new Promise((resolve, reject) => { try { @@ -889,47 +845,39 @@ function _handleTxPricing(method, tx) { params: 0 })).createFunction(method.requestManager); - if (tx.type < '0x2' && tx.gasPrice !== undefined) { - // Legacy transaction, return provided gasPrice - resolve({ gasPrice: tx.gasPrice }) - } else { - Promise.all([ - getBlockByNumber(), - getGasPrice() - ]).then(responses => { - const [block, gasPrice] = responses; - if ( - (tx.type === '0x2') && - block && block.baseFeePerGas - ) { - // The network supports EIP-1559 - - // Taken from https://github.com/ethers-io/ethers.js/blob/ba6854bdd5a912fe873d5da494cb5c62c190adde/packages/abstract-provider/src.ts/index.ts#L230 - let maxPriorityFeePerGas, maxFeePerGas; - - if (tx.gasPrice) { - // Using legacy gasPrice property on an eip-1559 network, - // so use gasPrice as both fee properties - maxPriorityFeePerGas = tx.gasPrice; - maxFeePerGas = tx.gasPrice; - delete tx.gasPrice; - } else { - maxPriorityFeePerGas = tx.maxPriorityFeePerGas || '0x3B9ACA00'; // 1 Gwei - maxFeePerGas = tx.maxFeePerGas || - utils.toHex( - utils.toBN(block.baseFeePerGas) - .mul(utils.toBN(2)) - .add(utils.toBN(maxPriorityFeePerGas)) - ); - } - resolve({ maxFeePerGas, maxPriorityFeePerGas }); + Promise.all([ + getBlockByNumber(), + getGasPrice() + ]).then(responses => { + const [block, gasPrice] = responses; + if (block && block.baseFeePerGas) { + // The network supports EIP-1559 + + // Taken from https://github.com/ethers-io/ethers.js/blob/ba6854bdd5a912fe873d5da494cb5c62c190adde/packages/abstract-provider/src.ts/index.ts#L230 + let maxPriorityFeePerGas, maxFeePerGas; + + if (tx.gasPrice) { + // Using legacy gasPrice property on an eip-1559 network, + // so use gasPrice as both fee properties + maxPriorityFeePerGas = tx.gasPrice; + maxFeePerGas = tx.gasPrice; + delete tx.gasPrice; } else { - if (tx.maxPriorityFeePerGas || tx.maxFeePerGas) - throw Error("Network doesn't support eip-1559") - resolve({ gasPrice }); + maxPriorityFeePerGas = tx.maxPriorityFeePerGas || '0x3B9ACA00'; // 1 Gwei + maxFeePerGas = tx.maxFeePerGas || + utils.toHex( + utils.toBN(block.baseFeePerGas) + .mul(utils.toBN(2)) + .add(utils.toBN(maxPriorityFeePerGas)) + ); } - }) - } + resolve({ maxFeePerGas, maxPriorityFeePerGas }); + } else { + if (tx.maxPriorityFeePerGas || tx.maxFeePerGas) + throw Error("Network doesn't support eip-1559") + resolve({ gasPrice }); + } + }) } catch (error) { reject(error) } diff --git a/packages/web3-eth-accounts/src/index.js b/packages/web3-eth-accounts/src/index.js index 40f8e4532f3..7fa9e93678a 100644 --- a/packages/web3-eth-accounts/src/index.js +++ b/packages/web3-eth-accounts/src/index.js @@ -331,8 +331,6 @@ function _handleTxType(tx) { txType = utils.toHex(tx.type) } else if (tx.type === undefined && hasEip1559) { txType = '0x2' - } else { - txType = '0x0' } if (tx.gasPrice !== undefined && (txType === '0x2' || hasEip1559)) @@ -364,7 +362,10 @@ function _handleTxType(tx) { function _handleTxPricing(_this, tx) { return new Promise((resolve, reject) => { try { - if (tx.type < '0x2' && tx.gasPrice !== undefined) { + if ( + (tx.type === undefined || tx.type < '0x2') + && tx.gasPrice !== undefined + ) { // Legacy transaction, return provided gasPrice resolve({ gasPrice: tx.gasPrice }) } else { diff --git a/test/contract.js b/test/contract.js index b5e5e427355..3b5bc735d5a 100644 --- a/test/contract.js +++ b/test/contract.js @@ -2678,8 +2678,8 @@ var runTests = function(contractFactory) { '0000000000000000000000000000000000000000000000000000000000000011' , to: addressLowercase, from: addressLowercase, - gasPrice: '0x45656456456456', - type: '0x0' + maxPriorityFeePerGas: '0x3B9ACA00', + maxFeePerGas: '0x3b9aca0e' }]); done(); diff --git a/test/eth.sendTransaction.js b/test/eth.sendTransaction.js index cc88b8b3092..e7afb741f83 100644 --- a/test/eth.sendTransaction.js +++ b/test/eth.sendTransaction.js @@ -68,8 +68,7 @@ var tests = [{ from: "0xdbdbdb2cbd23b783741e8d7fcf51e459b497e4a6", to: "0xdbdbdb2cbd23b783741e8d7fcf51e459b497e4a6", value: "0x11f71f76bb1", - gasPrice: "0x1234567", - type: "0x0" + gasPrice: "0x1234567" }], result3: '0x1234567' },{ diff --git a/test/method.buildCall.js b/test/method.buildCall.js index 07b354dd9dc..2454399c25c 100644 --- a/test/method.buildCall.js +++ b/test/method.buildCall.js @@ -210,7 +210,7 @@ describe('lib/web3/method', function () { to: '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae', data: '0xa123456', gasPrice: '0x1234567453543456321456321', - type: '0x0' + type: '0x2' }]); done(); @@ -221,7 +221,8 @@ describe('lib/web3/method', function () { send({ from: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', to: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', - data: '0xa123456' + data: '0xa123456', + type: '0x2' }); }); From 44b72f89867bf0b749fdd785229cc67a46ebfaa1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Sat, 14 Aug 2021 17:29:22 -1000 Subject: [PATCH 08/25] Release 1.5.2 (#4242) * Update CHANGELOG * npm i && npm run build * v1.5.2-rc.0 * v1.5.2 --- CHANGELOG.md | 6 +- dist/web3.min.js | 25 +- dist/web3.min.js.map | 2 +- lerna.json | 2 +- package-lock.json | 41 +- packages/web3-bzz/package-lock.json | 4 +- packages/web3-bzz/package.json | 2 +- packages/web3-core-helpers/package-lock.json | 4 +- packages/web3-core-helpers/package.json | 6 +- packages/web3-core-method/package-lock.json | 5493 +++-------------- packages/web3-core-method/package.json | 10 +- packages/web3-core-promievent/package.json | 2 +- .../web3-core-requestmanager/package.json | 10 +- .../web3-core-subscriptions/package-lock.json | 4 +- packages/web3-core-subscriptions/package.json | 4 +- packages/web3-core/package-lock.json | 4 +- packages/web3-core/package.json | 10 +- packages/web3-eth-abi/package-lock.json | 4 +- packages/web3-eth-abi/package.json | 4 +- packages/web3-eth-accounts/package-lock.json | 4 +- packages/web3-eth-accounts/package.json | 10 +- packages/web3-eth-contract/package-lock.json | 4 +- packages/web3-eth-contract/package.json | 16 +- packages/web3-eth-ens/package-lock.json | 4 +- packages/web3-eth-ens/package.json | 16 +- packages/web3-eth-iban/package-lock.json | 4 +- packages/web3-eth-iban/package.json | 4 +- packages/web3-eth-personal/package-lock.json | 4 +- packages/web3-eth-personal/package.json | 12 +- packages/web3-eth/package-lock.json | 4 +- packages/web3-eth/package.json | 26 +- .../web3-eth2-beaconchain/package-lock.json | 4 +- packages/web3-eth2-beaconchain/package.json | 4 +- packages/web3-eth2-core/package-lock.json | 4 +- packages/web3-eth2-core/package.json | 2 +- packages/web3-net/package-lock.json | 4 +- packages/web3-net/package.json | 8 +- .../web3-providers-http/package-lock.json | 4 +- packages/web3-providers-http/package.json | 4 +- packages/web3-providers-ipc/package-lock.json | 4 +- packages/web3-providers-ipc/package.json | 4 +- packages/web3-providers-ws/package-lock.json | 4 +- packages/web3-providers-ws/package.json | 4 +- packages/web3-shh/package-lock.json | 4 +- packages/web3-shh/package.json | 10 +- packages/web3-utils/package-lock.json | 4 +- packages/web3-utils/package.json | 2 +- packages/web3/package-lock.json | 4 +- packages/web3/package.json | 18 +- 49 files changed, 1072 insertions(+), 4765 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 802e81d0213..50b0ef6ff11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -425,11 +425,13 @@ Released with 1.0.0-beta.37 code base. - Add block tag support (e.g. `latest`, `pending`, `earliest`) to `getFeeHistory` (#4224) - Support for EIP-1559 to `web3.eth.sendTransaction` (#4220) -## [Unreleased] - ## [1.5.2] ### Fixed - Remove transaction `type` defaulting for `eth.sendTransaction`, `eth.sendRawTransaction` (#4241) - `type: 0x0` was being added to legacy transaction when using `eth.signTransaction` (#4241) + +## [Unreleased] + +## [1.5.3] diff --git a/dist/web3.min.js b/dist/web3.min.js index 86f50eb002a..06f6c8ac2c6 100644 --- a/dist/web3.min.js +++ b/dist/web3.min.js @@ -1,27 +1,26 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Web3=e():t.Web3=e()}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=245)}([function(t,e,r){"use strict";t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";(function(t){ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Web3=e():t.Web3=e()}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=204)}([function(t,e,r){"use strict";t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";(function(t){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -var n=r(254),i=r(255),o=r(128);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function p(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return q(t).length;default:if(n)return F(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return B(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return E(this,e,r);case"latin1":case"binary":return P(this,e,r);case"base64":return A(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function v(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:y(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,n,i){var o,a=1,s=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function f(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var h=!0,d=0;di&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function A(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(c=f);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&f)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&f)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&f)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),s=Math.min(o,a),f=this.slice(n,i),c=t.slice(e,r),h=0;hi)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return g(this,t,e,r);case"utf8":case"utf-8":return w(this,t,e,r);case"ascii":return _(this,t,e,r);case"latin1":case"binary":return M(this,t,e,r);case"base64":return k(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function T(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function I(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function C(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function N(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,r,n,o){return o||N(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function j(t,e,r,n,o){return o||N(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||R(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||R(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||R(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||R(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||R(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||R(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||R(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||R(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||R(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||R(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||R(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||T(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):C(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):C(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);T(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);T(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):C(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||T(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):C(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return j(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return j(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(L,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function H(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(6))},function(t,e,r){"use strict";function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=n=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},function(t,e,r){"use strict";var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";var n,i,o=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var f,c=[],h=!1,d=-1;function l(){h&&f&&(h=!1,f.length?c=f.concat(c):d=-1,c.length&&p())}function p(){if(!h){var t=u(l);h=!0;for(var e=c.length;e;){for(f=c,c=[];++d1)for(var r=1;r=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?h[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=d[t],c=l[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);r=(p=p.idivn(c)).isZero()?m+r:h[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function b(t,e,r){return(new v).mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new S(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function g(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(t,e){t.iushrn(this.n,0,e)},g.prototype.imulK=function(t){return t.imul(this.k)},o(w,g),w.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new k}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new A(t)},o(A,S),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e,r){"use strict";"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},function(t,e,r){"use strict";var n=r(250),i=r(251);t.exports={errors:n,formatters:i}},function(t,e,r){"use strict";function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.default=t.exports,t.exports.__esModule=!0,n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isBytesLike=u,e.isBytes=f,e.arrayify=c,e.concat=h,e.stripZeros=function(t){var e=c(t);if(0===e.length)return e;var r=0;for(;r=256||r%1)return!1}return!0}function c(t,e){if(e||(e={}),"number"==typeof t){o.checkSafeUint53(t,"invalid arrayify value");for(var r=[];t;)r.unshift(255&t),t=parseInt(String(t/256));return 0===r.length&&r.push(0),s(new Uint8Array(r))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),a(t)&&(t=t.toHexString()),l(t)){var n=t.substring(2);n.length%2&&("left"===e.hexPad?n="0x0"+n.substring(2):"right"===e.hexPad?n+="0":o.throwArgumentError("hex data is odd-length","value",t));for(var i=[],u=0;ue&&o.throwArgumentError("value out of range","value",arguments[0]);var r=new Uint8Array(e);return r.set(t,e-t.length),s(r)}function l(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}function p(t,e){if(e||(e={}),"number"==typeof t){o.checkSafeUint53(t,"invalid hexlify value");for(var r="";t;)r="0123456789abcdef"[15&t]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),a(t))return t.toHexString();if(l(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":o.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(f(t)){for(var n="0x",i=0;i>4]+"0123456789abcdef"[15&s]}return n}return o.throwArgumentError("invalid hexlify value","value",t)}function m(t){"string"!=typeof t&&(t=p(t)),l(t)||o.throwArgumentError("invalid hex string","value",t),t=t.substring(2);for(var e=0;e2*e+2&&o.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function v(t){var e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(u(t)){var r=c(t);65!==r.length&&o.throwArgumentError("invalid signature string; must be 65 bytes","signature",t),e.r=p(r.slice(0,32)),e.s=p(r.slice(32,64)),e.v=r[64],e.v<27&&(0===e.v||1===e.v?e.v+=27:o.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=p(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){var n=d(c(e._vs),32);e._vs=p(n);var i=n[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=i:e.recoveryParam!==i&&o.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),n[0]&=127;var a=p(n);null==e.s?e.s=a:e.s!==a&&o.throwArgumentError("signature v mismatch _vs","signature",t)}null==e.recoveryParam?null==e.v?o.throwArgumentError("signature missing v and recoveryParam","signature",t):0===e.v||1===e.v?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==1-e.v%2&&o.throwArgumentError("signature recoveryParam mismatch v","signature",t),null!=e.r&&l(e.r)?e.r=b(e.r,32):o.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&l(e.s)?e.s=b(e.s,32):o.throwArgumentError("signature missing or invalid s","signature",t);var s=c(e.s);s[0]>=128&&o.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(s[0]|=128);var f=p(s);e._vs&&(l(e._vs)||o.throwArgumentError("signature invalid _vs","signature",t),e._vs=b(e._vs,32)),null==e._vs?e._vs=f:e._vs!==f&&o.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e}},function(t,e,r){"use strict";var n=r(158);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n(t,e)},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(2).default,i=r(159);t.exports=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?i(t):e},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.Logger=e.ErrorCode=e.LogLevel=void 0;var i=n(r(7)),o=n(r(8)),a=r(396),s=!1,u=!1,f={debug:1,default:2,info:2,warning:3,error:4,off:5},c=f.default,h=null;var d,l,p=function(){try{var t=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(e){try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(r){t.push(e)}})),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();e.LogLevel=d,function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(d||(e.LogLevel=d={})),e.ErrorCode=l,function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(l||(e.ErrorCode=l={}));var m=function(){function t(e){(0,i.default)(this,t),Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}return(0,o.default)(t,[{key:"_log",value:function(t,e){var r=t.toLowerCase();null==f[r]&&this.throwArgumentError("invalid log level name","logLevel",t),c>f[r]||console.log.apply(console,e)}},{key:"debug",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n=9007199254740991)&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}},{key:"checkArgumentCount",value:function(e,r,n){n=n?": "+n:"",er&&this.throwError("too many arguments"+n,t.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}},{key:"checkNew",value:function(e,r){e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}},{key:"checkAbstract",value:function(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",t.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}}],[{key:"globalLogger",value:function(){return h||(h=new t(a.version)),h}},{key:"setCensorship",value:function(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),s){if(!e)return;this.globalLogger().throwError("error censorship permanent",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}u=!!e,s=!!r}},{key:"setLogLevel",value:function(e){var r=f[e.toLowerCase()];null!=r?c=r:t.globalLogger().warn("invalid log level - "+e)}},{key:"from",value:function(e){return new t(e)}}]),t}();e.Logger=m,m.errors=l,m.levels=d},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(252),o=r(132),a=r(262),s=r(29),u=r(9),f=function t(e,r){var i=[];return r.forEach((function(r){if("object"===(0,n.default)(r.components)){if("tuple"!==r.type.substring(0,5))throw new Error("components found but type is not tuple; report on GitHub");var o="",a=r.type.indexOf("[");a>=0&&(o=r.type.substring(a));var s=t(e,r.components);Array.isArray(s)&&e?i.push("tuple("+s.join(",")+")"+o):e?i.push("("+s+")"):i.push("("+s.join(",")+")"+o)}else i.push(r.type)})),i},c=function(t){if(!o.isHexStrict(t))throw new Error("The parameter must be a valid HEX string.");var e="",r=0,n=t.length;for("0x"===t.substring(0,2)&&(r=2);r7?r+=t[n].toUpperCase():r+=t[n];return r},toHex:o.toHex,toBN:o.toBN,bytesToHex:o.bytesToHex,hexToBytes:o.hexToBytes,hexToNumberString:o.hexToNumberString,hexToNumber:o.hexToNumber,toDecimal:o.hexToNumber,numberToHex:o.numberToHex,fromDecimal:o.numberToHex,hexToUtf8:o.hexToUtf8,hexToString:o.hexToUtf8,toUtf8:o.hexToUtf8,stripHexPrefix:o.stripHexPrefix,utf8ToHex:o.utf8ToHex,stringToHex:o.utf8ToHex,fromUtf8:o.utf8ToHex,hexToAscii:c,toAscii:c,asciiToHex:h,fromAscii:h,unitMap:i.unitMap,toWei:function(t,e){if(e=d(e),!o.isBN(t)&&"string"!=typeof t)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(t)?i.toWei(t,e):i.toWei(t,e).toString(10)},fromWei:function(t,e){if(e=d(e),!o.isBN(t)&&"string"!=typeof t)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(t)?i.fromWei(t,e):i.fromWei(t,e).toString(10)},padLeft:o.leftPad,leftPad:o.leftPad,padRight:o.rightPad,rightPad:o.rightPad,toTwosComplement:o.toTwosComplement,isBloom:o.isBloom,isUserEthereumAddressInBloom:o.isUserEthereumAddressInBloom,isContractAddressInBloom:o.isContractAddressInBloom,isTopic:o.isTopic,isTopicInBloom:o.isTopicInBloom,isInBloom:o.isInBloom,compareBlockNumbers:function(t,e){if(t==e)return 0;if("genesis"!=t&&"earliest"!=t&&0!=t||"genesis"!=e&&"earliest"!=e&&0!=e){if("genesis"==t||"earliest"==t)return-1;if("genesis"==e||"earliest"==e)return 1;if("latest"==t)return"pending"==e?-1:1;if("latest"===e)return"pending"==t?1:-1;if("pending"==t)return 1;if("pending"==e)return-1;var r=new u(t),n=new u(e);return r.lt(n)?-1:r.eq(n)?0:1}return 0},toNumber:o.toNumber}},function(t,e,r){"use strict";var n=e,i=r(26),o=r(38),a=r(151);n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},n.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,u=t.andln(3)+i&3,f=e.andln(3)+o&3;3===u&&(u=-1),3===f&&(f=-1),a=0==(1&u)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==f?u:-u,r[0].push(a),s=0==(1&f)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==u?f:-f,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},n.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new i(t,"hex","le")}},function(t,e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=n,n.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},function(t,e,r){"use strict";var n=e,i=r(9),o=r(20),a=r(224);n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},n.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,u=t.andln(3)+i&3,f=e.andln(3)+o&3;3===u&&(u=-1),3===f&&(f=-1),a=0==(1&u)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==f?u:-u,r[0].push(a),s=0==(1&f)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==u?f:-f,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},n.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new i(t,"hex","le")}},function(t,e,r){"use strict";var n,i=r(0)(r(2)),o="object"===("undefined"==typeof Reflect?"undefined":(0,i.default)(Reflect))?Reflect:null,a=o&&"function"==typeof o.apply?o.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};n=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var s=Number.isNaN||function(t){return t!=t};function u(){u.init.call(this)}t.exports=u,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,o),n(r)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}y(t,e,o,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&y(t,"error",e,r)}(t,i,{once:!0})}))},u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var f=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+(0,i.default)(t))}function h(t){return void 0===t._maxListeners?u.defaultMaxListeners:t._maxListeners}function d(t,e,r,n){var i,o,a,s;if(c(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),a=o[e]),void 0===a)a=o[e]=r,++t._eventsCount;else if("function"==typeof a?a=o[e]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(i=h(t))>0&&a.length>i&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=a.length,s=u,console&&console.warn&&console.warn(s)}return t}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=l.bind(n);return i.listener=r,n.wrapFn=i,i}function m(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[t];if(void 0===u)return!1;if("function"==typeof u)a(u,this,e);else{var f=u.length,c=v(u,f);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},u.prototype.listeners=function(t){return m(this,t,!0)},u.prototype.rawListeners=function(t){return m(this,t,!1)},u.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):b.call(t,e)},u.prototype.listenerCount=b,u.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(t,e,r){"use strict"; -/*! safe-buffer. MIT License. Feross Aboukhadijeh */var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.checkResultErrors=function(t){var e=[];return function t(r,n){if(!Array.isArray(n))return;for(var i in n){var o=r.slice();o.push(i);try{t(o,n[i])}catch(t){e.push({path:o,error:t})}}}([],t),e},e.Reader=e.Writer=e.Coder=void 0;var i=n(r(7)),o=n(r(8)),a=r(13),s=r(30),u=r(41),f=r(17),c=r(65),h=new f.Logger(c.version);var d=function(){function t(e,r,n,o){(0,i.default)(this,t),this.name=e,this.type=r,this.localName=n,this.dynamic=o}return(0,o.default)(t,[{key:"_throwError",value:function(t,e){h.throwArgumentError(t,this.localName,e)}}]),t}();e.Coder=d;var l=function(){function t(e){(0,i.default)(this,t),(0,u.defineReadOnly)(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}return(0,o.default)(t,[{key:"data",get:function(){return(0,a.hexConcat)(this._data)}},{key:"length",get:function(){return this._dataLength}},{key:"_writeData",value:function(t){return this._data.push(t),this._dataLength+=t.length,t.length}},{key:"appendWriter",value:function(t){return this._writeData((0,a.concat)(t._data))}},{key:"writeBytes",value:function(t){var e=(0,a.arrayify)(t),r=e.length%this.wordSize;return r&&(e=(0,a.concat)([e,this._padding.slice(r)])),this._writeData(e)}},{key:"_getValue",value:function(t){var e=(0,a.arrayify)(s.BigNumber.from(t));return e.length>this.wordSize&&h.throwError("value out-of-bounds",f.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=(0,a.concat)([this._padding.slice(e.length%this.wordSize),e])),e}},{key:"writeValue",value:function(t){return this._writeData(this._getValue(t))}},{key:"writeUpdatableValue",value:function(){var t=this,e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,function(r){t._data[e]=t._getValue(r)}}}]),t}();e.Writer=l;var p=function(){function t(e,r,n,o){(0,i.default)(this,t),(0,u.defineReadOnly)(this,"_data",(0,a.arrayify)(e)),(0,u.defineReadOnly)(this,"wordSize",r||32),(0,u.defineReadOnly)(this,"_coerceFunc",n),(0,u.defineReadOnly)(this,"allowLoose",o),this._offset=0}return(0,o.default)(t,[{key:"data",get:function(){return(0,a.hexlify)(this._data)}},{key:"consumed",get:function(){return this._offset}},{key:"coerce",value:function(e,r){return this._coerceFunc?this._coerceFunc(e,r):t.coerce(e,r)}},{key:"_peekBytes",value:function(t,e,r){var n=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+e<=this._data.length?n=e:h.throwError("data out-of-bounds",f.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}},{key:"subReader",value:function(e){return new t(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}},{key:"readBytes",value:function(t,e){var r=this._peekBytes(0,t,!!e);return this._offset+=r.length,r.slice(0,t)}},{key:"readValue",value:function(){return s.BigNumber.from(this.readBytes(this.wordSize))}}],[{key:"coerce",value:function(t,e){var r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(e=e.toNumber()),e}}]),t}();e.Reader=p},function(t,e,r){"use strict";var n=r(4).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=u,this.end=f,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=h,e=3;break;default:return this.write=d,void(this.end=l)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function f(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function l(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(t.lastNeed=i-1),i;if(--n=0)return i>0&&(t.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2));!function(t,n){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"===(0,e.default)(t)?t.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(303).Buffer}catch(t){}function u(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?h[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=d[t],c=l[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);r=(p=p.idivn(c)).isZero()?m+r:h[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function b(t,e,r){return(new v).mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new S(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function g(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(t,e){t.iushrn(this.n,0,e)},g.prototype.imulK=function(t){return t.imul(this.k)},o(w,g),w.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new k}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new A(t)},o(A,S),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e,r){"use strict";var n=r(38),i=r(10);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function a(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function s(t){return 1===t.length?"0"+t:t}function u(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=i,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i>6|192,r[n++]=63&a|128):o(t,i)?(a=65536+((1023&a)<<10)+(1023&t.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i>>0}return a},e.split32=function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,n){return t+e+r+n>>>0},e.sum32_5=function(t,e,r,n,i){return t+e+r+n+i>>>0},e.sum64=function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,a=(o>>0,t[e+1]=o},e.sum64_hi=function(t,e,r,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,r,n){return e+n>>>0},e.sum64_4_hi=function(t,e,r,n,i,o,a,s){var u=0,f=e;return u+=(f=f+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,r,n,i,o,a,s){return e+n+o+s>>>0},e.sum64_5_hi=function(t,e,r,n,i,o,a,s,u,f){var c=0,h=e;return c+=(h=h+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,r,n,i,o,a,s,u,f){return e+n+o+s+f>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},function(t,e,r){"use strict";var n=r(20),i=r(3);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function a(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function s(t){return 1===t.length?"0"+t:t}function u(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=i,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i>6|192,r[n++]=63&a|128):o(t,i)?(a=65536+((1023&a)<<10)+(1023&t.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i>>0}return a},e.split32=function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,n){return t+e+r+n>>>0},e.sum32_5=function(t,e,r,n,i){return t+e+r+n+i>>>0},e.sum64=function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,a=(o>>0,t[e+1]=o},e.sum64_hi=function(t,e,r,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,r,n){return e+n>>>0},e.sum64_4_hi=function(t,e,r,n,i,o,a,s){var u=0,f=e;return u+=(f=f+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,r,n,i,o,a,s){return e+n+o+s>>>0},e.sum64_5_hi=function(t,e,r,n,i,o,a,s,u,f){var c=0,h=e;return c+=(h=h+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,r,n,i,o,a,s,u,f){return e+n+o+s+f>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},function(t,e,r){"use strict";(function(e,n){var i=r(4).Buffer,o=e.crypto||e.msCrypto;o&&o.getRandomValues?t.exports=function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var r=i.allocUnsafe(t);if(t>0)if(t>65536)for(var a=0;a1?(t[r[0]]=t[r[0]]||{},t[r[0]][r[1]]=e):t[r[0]]=e},y.prototype.getCall=function(t){return"function"==typeof this.call?this.call(t):this.call},y.prototype.extractCallback=function(t){if("function"==typeof t[t.length-1])return t.pop()},y.prototype.validateArgs=function(t){if(t.length!==this.params)throw h.InvalidNumberOfParams(t.length,this.params,this.name)},y.prototype.formatInput=function(t){var e=this;return this.inputFormatter?this.inputFormatter.map((function(r,n){return r?r.call(e,t[n]):t[n]})):t},y.prototype.formatOutput=function(t){var e=this;return Array.isArray(t)?t.map((function(t){return e.outputFormatter&&t?e.outputFormatter(t):t})):this.outputFormatter&&t?this.outputFormatter(t):t},y.prototype.toPayload=function(t){var e=this.getCall(t),r=this.extractCallback(t),n=this.formatInput(t);this.validateArgs(n);var i={method:e,params:n,callback:r};return this.transformPayload&&(i=this.transformPayload(i)),i},y.prototype._confirmTransaction=function(t,e,r){var n=this,o=!1,a=!0,f=0,c=0,b=null,g=null,w=r.params[0]&&"object"===(0,u.default)(r.params[0])&&r.params[0].gas?r.params[0].gas:null,_=!!r.params[0]&&"object"===(0,u.default)(r.params[0])&&r.params[0].data&&r.params[0].from&&!r.params[0].to,M=_&&r.params[0].data.length>2,k=[new y({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[d.inputBlockNumberFormatter,function(t){return!!t}],outputFormatter:d.outputBlockFormatter}),new y({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:d.outputTransactionReceiptFormatter}),new y({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[d.inputAddressFormatter,d.inputDefaultBlockNumberFormatter]}),new y({name:"getTransactionByHash",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:d.outputTransactionFormatter}),new m({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:d.outputBlockFormatter}}})],S={};k.forEach((function(t){t.attachToObject(S),t.requestManager=n.requestManager}));var A=function(u,m,y,k,A){if(!y)return A||(A={unsubscribe:function(){clearInterval(b)}}),(u?p.resolve(u):S.getTransactionReceipt(e)).catch((function(e){A.unsubscribe(),o=!0,l._fireError({message:"Failed to check for transaction receipt:",data:e},t.eventEmitter,t.reject)})).then(function(){var e=(0,s.default)(i.default.mark((function e(r){var o,s,f;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&r.blockHash){e.next=2;break}throw new Error("Receipt missing or blockHash null");case 2:if(n.extraFormatters&&n.extraFormatters.receiptFormatter&&(r=n.extraFormatters.receiptFormatter(r)),!(t.eventEmitter.listeners("confirmation").length>0)){e.next=28;break}if(void 0!==u&&0===c){e.next=25;break}return e.next=7,S.getBlockByNumber("latest");case 7:if(s=e.sent,f=s?s.hash:null,!m){e.next=24;break}if(!g){e.next=17;break}return e.next=13,S.getBlockByNumber(g.number+1);case 13:(o=e.sent)&&(g=o,t.eventEmitter.emit("confirmation",c,r,f)),e.next=22;break;case 17:return e.next=19,S.getBlockByNumber(r.blockNumber);case 19:o=e.sent,g=o,t.eventEmitter.emit("confirmation",c,r,f);case 22:e.next=25;break;case 24:t.eventEmitter.emit("confirmation",c,r,f);case 25:(m&&o||!m)&&c++,a=!1,c===n.transactionConfirmationBlocks+1&&(A.unsubscribe(),t.eventEmitter.removeAllListeners());case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then(function(){var e=(0,s.default)(i.default.mark((function e(r){var s;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!_||o){e.next=19;break}if(r.contractAddress){e.next=5;break}return a&&(A.unsubscribe(),o=!0),l._fireError(h.NoContractAddressFoundError(r),t.eventEmitter,t.reject,null,r),e.abrupt("return");case 5:return e.prev=5,e.next=8,S.getCode(r.contractAddress);case 8:s=e.sent,e.next=13;break;case 11:e.prev=11,e.t0=e.catch(5);case 13:if(s){e.next=15;break}return e.abrupt("return");case 15:!0===r.status&&M||s.length>2?(t.eventEmitter.emit("receipt",r),n.extraFormatters&&n.extraFormatters.contractDeployFormatter?t.resolve(n.extraFormatters.contractDeployFormatter(r)):t.resolve(r),a&&t.eventEmitter.removeAllListeners()):l._fireError(h.ContractCodeNotStoredError(r),t.eventEmitter,t.reject,null,r),a&&A.unsubscribe(),o=!0;case 19:return e.abrupt("return",r);case 20:case"end":return e.stop()}}),e,null,[[5,11]])})));return function(t){return e.apply(this,arguments)}}()).then(function(){var e=(0,s.default)(i.default.mark((function e(s){var u,f,c,p;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(_||o){e.next=35;break}if(s.outOfGas||w&&w===s.gasUsed||!0!==s.status&&"0x1"!==s.status&&void 0!==s.status){e.next=7;break}t.eventEmitter.emit("receipt",s),t.resolve(s),a&&t.eventEmitter.removeAllListeners(),e.next=33;break;case 7:if(JSON.stringify(s,null,2),!1!==s.status&&"0x0"!==s.status){e.next=32;break}if(e.prev=9,u=null,!n.handleRevert||"eth_sendTransaction"!==n.call&&"eth_sendRawTransaction"!==n.call){e.next=24;break}return f=r.params[0],"eth_sendRawTransaction"===n.call&&(c=r.params[0],p=v.parse(c),f=d.inputTransactionFormatter({data:p.data,to:p.to,from:p.from,gas:p.gasLimit.toHexString(),gasPrice:p.gasPrice.toHexString(),value:p.value.toHexString()})),e.next=16,n.getRevertReason(f,s.blockNumber);case 16:if(!(u=e.sent)){e.next=21;break}l._fireError(h.TransactionRevertInstructionError(u.reason,u.signature,s),t.eventEmitter,t.reject,null,s),e.next=22;break;case 21:throw!1;case 22:e.next=25;break;case 24:throw!1;case 25:e.next=30;break;case 27:e.prev=27,e.t0=e.catch(9),l._fireError(h.TransactionRevertedWithoutReasonError(s),t.eventEmitter,t.reject,null,s);case 30:e.next=33;break;case 32:l._fireError(h.TransactionOutOfGasError(s),t.eventEmitter,t.reject,null,s);case 33:a&&A.unsubscribe(),o=!0;case 35:case"end":return e.stop()}}),e,null,[[9,27]])})));return function(t){return e.apply(this,arguments)}}()).catch((function(){f++,m?f-1>=n.transactionPollingTimeout&&(A.unsubscribe(),o=!0,l._fireError(h.TransactionError("Transaction was not mined within "+n.transactionPollingTimeout+" seconds, please make sure your transaction was properly sent. Be aware that it might still be mined!"),t.eventEmitter,t.reject)):f-1>=n.transactionBlockTimeout&&(A.unsubscribe(),o=!0,l._fireError(h.TransactionError("Transaction was not mined within "+n.transactionBlockTimeout+" blocks, please make sure your transaction was properly sent. Be aware that it might still be mined!"),t.eventEmitter,t.reject))}));A.unsubscribe(),o=!0,l._fireError({message:"Failed to subscribe to new newBlockHeaders to confirm the transaction receipts.",data:y},t.eventEmitter,t.reject)},x=function(t){var e=function(){b=setInterval(A.bind(null,t,!0),1e3)};this.requestManager.provider.on?S.subscribe("newBlockHeaders",(function(r,n,i){r||!n?e():A(t,!1,r,0,i)})):e()}.bind(this);S.getTransactionReceipt(e).then((function(e){e&&e.blockHash?(t.eventEmitter.listeners("confirmation").length>0&&x(e),A(e,!1)):o||x()})).catch((function(){o||x()}))};var g=function(t,e){return"number"==typeof t?e.wallet[t]:t&&"object"===(0,u.default)(t)&&t.address&&t.privateKey?t:e.wallet[t.toLowerCase()]};function w(t){var e,r=void 0!==t.maxFeePerGas||void 0!==t.maxPriorityFeePerGas;if(e=void 0!==t.type?l.toHex(t.type):void 0===t.type&&r?"0x2":"0x0",void 0!==t.gasPrice&&("0x2"===e||r))throw Error("eip-1559 transactions don't support gasPrice");if(("0x1"===e||"0x0"===e)&&r)throw Error("pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas");return r||t.common&&t.common.hardfork&&t.common.hardfork.toLowerCase()===b.London||t.hardfork&&t.hardfork.toLowerCase()===b.London?e="0x2":(t.accessList||t.common&&t.common.hardfork&&t.common.hardfork.toLowerCase()===b.Berlin||t.hardfork&&t.hardfork.toLowerCase()===b.Berlin)&&(e="0x1"),e}function _(t,e){return new Promise((function(r,n){try{var i=new y({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[function(t){return t?l.toHex(t):"latest"},function(){return!1}]}).createFunction(t.requestManager),a=new y({name:"getGasPrice",call:"eth_gasPrice",params:0}).createFunction(t.requestManager);e.type<"0x2"&&void 0!==e.gasPrice?r({gasPrice:e.gasPrice}):Promise.all([i(),a()]).then((function(t){var n=(0,o.default)(t,2),i=n[0],a=n[1];if("0x2"===e.type&&i&&i.baseFeePerGas){var s,u;e.gasPrice?(s=e.gasPrice,u=e.gasPrice,delete e.gasPrice):(s=e.maxPriorityFeePerGas||"0x3B9ACA00",u=e.maxFeePerGas||l.toHex(l.toBN(i.baseFeePerGas).mul(l.toBN(2)).add(l.toBN(s)))),r({maxFeePerGas:u,maxPriorityFeePerGas:s})}else{if(e.maxPriorityFeePerGas||e.maxFeePerGas)throw Error("Network doesn't support eip-1559");r({gasPrice:a})}}))}catch(t){n(t)}}))}y.prototype.buildCall=function(){var t=this,e="eth_sendTransaction"===t.call||"eth_sendRawTransaction"===t.call,r="eth_call"===t.call,n=function(){var n=p(!e),i=t.toPayload(Array.prototype.slice.call(arguments)),o=function(o,a){var s;if(t.handleRevert&&r&&t.abiCoder&&(!o&&t.isRevertReasonString(a)?s=a.substring(10):o&&o.data&&(s=o.data.substring(10)),s)){var u=t.abiCoder.decodeParameter("string","0x"+s);return void l._fireError(h.RevertInstructionError(u,"Error(String)"),n.eventEmitter,n.reject,i.callback,{reason:u,signature:"Error(String)"})}try{a=t.formatOutput(a)}catch(t){o=t}if(a instanceof Error&&(o=a),o)return o.error&&(o=o.error),l._fireError(o,n.eventEmitter,n.reject,i.callback);i.callback&&i.callback(null,a),e?(n.eventEmitter.emit("transactionHash",a),t._confirmTransaction(n,a,i)):o||n.resolve(a)},a=function(e){var r=c(c({},i),{},{method:"eth_sendRawTransaction",params:[e.rawTransaction]});t.requestManager.send(r,o)},s=function(t,e){var r;if(e&&e.accounts&&e.accounts.wallet&&e.accounts.wallet.length)if("eth_sendTransaction"===t.method){var i=t.params[0];if((r=g(i&&"object"===(0,u.default)(i)?i.from:null,e.accounts))&&r.privateKey)return delete(i=JSON.parse(JSON.stringify(i))).from,e.defaultChain&&!i.chain&&(i.chain=e.defaultChain),e.defaultHardfork&&!i.hardfork&&(i.hardfork=e.defaultHardfork),e.defaultCommon&&!i.common&&(i.common=e.defaultCommon),void e.accounts.signTransaction(i,r.privateKey).then(a).catch((function(t){if("function"==typeof n.eventEmitter.listeners&&n.eventEmitter.listeners("error").length){try{n.eventEmitter.emit("error",t)}catch(t){}n.eventEmitter.removeAllListeners(),n.eventEmitter.catch((function(){}))}n.reject(t)}))}else if("eth_sign"===t.method){var s=t.params[1];if((r=g(t.params[0],e.accounts))&&r.privateKey){var f=e.accounts.sign(s,r.privateKey);return t.callback&&t.callback(null,f.signature),void n.resolve(f.signature)}}return e.requestManager.send(t,o)};return e&&i.params[0]&&"object"===(0,u.default)(i.params[0])&&void 0===i.params[0].gasPrice&&(void 0===i.params[0].maxPriorityFeePerGas||void 0===i.params[0].maxFeePerGas)?(void 0===i.params[0].type&&(i.params[0].type=w(i.params[0])),_(t,i.params[0]).then((function(r){void 0!==r.gasPrice?i.params[0].gasPrice=r.gasPrice:void 0!==r.maxPriorityFeePerGas&&void 0!==r.maxFeePerGas&&(i.params[0].maxPriorityFeePerGas=r.maxPriorityFeePerGas,i.params[0].maxFeePerGas=r.maxFeePerGas),e&&setTimeout((function(){n.eventEmitter.emit("sending",i)}),0),s(i,t)}))):(e&&setTimeout((function(){n.eventEmitter.emit("sending",i)}),0),s(i,t)),e&&setTimeout((function(){n.eventEmitter.emit("sent",i)}),0),n.eventEmitter};return n.method=t,n.request=this.request.bind(this),n},y.prototype.getRevertReason=function(t,e){var r=this;return new Promise((function(n,i){new y({name:"call",call:"eth_call",params:2,abiCoder:r.abiCoder,handleRevert:!0}).createFunction(r.requestManager)(t,l.numberToHex(e)).then((function(){n(!1)})).catch((function(t){t.reason?n({reason:t.reason,signature:t.signature}):i(t)}))}))},y.prototype.isRevertReasonString=function(t){return"string"==typeof t&&(t.length-2)/2%32==4&&"0x08c379a0"===t.substring(0,10)},y.prototype.request=function(){var t=this.toPayload(Array.prototype.slice.call(arguments));return t.format=this.formatOutput.bind(this),t},t.exports=y},function(t,e,r){"use strict";var n=r(295),i=r(296),o=r(145),a=r(297);t.exports=function(t,e){return n(t)||i(t,e)||o(t,e)||a()},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2));!function(t,n){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"===(0,e.default)(t)?t.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(302).Buffer}catch(t){}function u(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(t){a.prototype.inspect=d}else a.prototype.inspect=d;function d(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?l[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var d=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?d+r:l[f-d.length]+d+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function M(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){M.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){M.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){M.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){M.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function P(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}M.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},M.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},M.prototype.split=function(t,e){t.iushrn(this.n,0,e)},M.prototype.imulK=function(t){return t.imul(this.k)},o(k,M),k.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new P(t)},o(P,E),P.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},P.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},P.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=n,n.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.baToJSON=e.addHexPrefix=e.toUnsigned=e.fromSigned=e.bufferToHex=e.bufferToInt=e.toBuffer=e.unpadHexString=e.unpadArray=e.unpadBuffer=e.setLengthRight=e.setLengthLeft=e.zeros=void 0;var i=n(r(37)),o=r(45),a=r(76);e.zeros=function(e){return t.allocUnsafe(e).fill(0)};var s=function(t,r,n){var i=e.zeros(r);return n?t.length0&&"0"===e.toString();)e=(t=t.slice(1))[0];return t};e.unpadBuffer=function(t){return a.assertIsBuffer(t),u(t)},e.unpadArray=function(t){return a.assertIsArray(t),u(t)},e.unpadHexString=function(t){return a.assertIsHexString(t),t=o.stripHexPrefix(t),u(t)},e.toBuffer=function(e){if(null==e)return t.allocUnsafe(0);if(t.isBuffer(e))return t.from(e);if(Array.isArray(e)||e instanceof Uint8Array)return t.from(e);if("string"==typeof e){if(!o.isHexString(e))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: "+e);return t.from(o.padToEven(o.stripHexPrefix(e)),"hex")}if("number"==typeof e)return o.intToBuffer(e);if(i.default.isBN(e))return e.toArrayLike(t);if(e.toArray)return t.from(e.toArray());if(e.toBuffer)return t.from(e.toBuffer());throw new Error("invalid type")},e.bufferToInt=function(t){return new i.default(e.toBuffer(t)).toNumber()},e.bufferToHex=function(t){return"0x"+(t=e.toBuffer(t)).toString("hex")},e.fromSigned=function(t){return new i.default(t).fromTwos(256)},e.toUnsigned=function(e){return t.from(e.toTwos(256).toArray())},e.addHexPrefix=function(t){return"string"!=typeof t||o.isHexPrefixed(t)?t:"0x"+t},e.baToJSON=function(r){if(t.isBuffer(r))return"0x"+r.toString("hex");if(r instanceof Array){for(var n=[],i=0;i=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(t){a.prototype.inspect=d}else a.prototype.inspect=d;function d(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?l[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var d=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?d+r:l[f-d.length]+d+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function M(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){M.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){M.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){M.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){M.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function P(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}M.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},M.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},M.prototype.split=function(t,e){t.iushrn(this.n,0,e)},M.prototype.imulK=function(t){return t.imul(this.k)},o(k,M),k.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new P(t)},o(P,E),P.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},P.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},P.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.baToJSON=e.addHexPrefix=e.toUnsigned=e.fromSigned=e.bufferToHex=e.bufferToInt=e.toBuffer=e.unpadHexString=e.unpadArray=e.unpadBuffer=e.setLengthRight=e.setLengthLeft=e.zeros=void 0;var i=n(r(42)),o=r(56),a=r(88);e.zeros=function(e){return t.allocUnsafe(e).fill(0)};var s=function(t,r,n){var i=e.zeros(r);return n?t.length0&&"0"===e.toString();)e=(t=t.slice(1))[0];return t};e.unpadBuffer=function(t){return a.assertIsBuffer(t),u(t)},e.unpadArray=function(t){return a.assertIsArray(t),u(t)},e.unpadHexString=function(t){return a.assertIsHexString(t),t=o.stripHexPrefix(t),u(t)},e.toBuffer=function(e){if(null==e)return t.allocUnsafe(0);if(t.isBuffer(e))return t.from(e);if(Array.isArray(e)||e instanceof Uint8Array)return t.from(e);if("string"==typeof e){if(!o.isHexString(e))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: "+e);return t.from(o.padToEven(o.stripHexPrefix(e)),"hex")}if("number"==typeof e)return o.intToBuffer(e);if(i.default.isBN(e))return e.toArrayLike(t);if(e.toArray)return t.from(e.toArray());if(e.toBuffer)return t.from(e.toBuffer());throw new Error("invalid type")},e.bufferToInt=function(t){return new i.default(e.toBuffer(t)).toNumber()},e.bufferToHex=function(t){return"0x"+(t=e.toBuffer(t)).toString("hex")},e.fromSigned=function(t){return new i.default(t).fromTwos(256)},e.toUnsigned=function(e){return t.from(e.toTwos(256).toArray())},e.addHexPrefix=function(t){return"string"!=typeof t||o.isHexPrefixed(t)?t:"0x"+t},e.baToJSON=function(r){if(t.isBuffer(r))return"0x"+r.toString("hex");if(r instanceof Array){for(var n=[],i=0;i=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function p(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return D(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return q(t).length;default:if(n)return D(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return E(this,e,r);case"latin1":case"binary":return O(this,e,r);case"base64":return A(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function v(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:y(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,n,i){var o,a=1,s=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function f(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var h=!0,l=0;li&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function A(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(c=f);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&f)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&f)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&f)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),s=Math.min(o,a),f=this.slice(n,i),c=t.slice(e,r),h=0;hi)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return g(this,t,e,r);case"utf8":case"utf-8":return w(this,t,e,r);case"ascii":return _(this,t,e,r);case"latin1":case"binary":return k(this,t,e,r);case"base64":return M(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function R(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function I(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function C(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function N(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||T(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||T(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||T(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||T(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||T(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||T(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||T(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||T(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||T(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||T(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||T(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||T(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||T(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||T(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||T(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||T(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||R(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):C(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):C(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);R(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);R(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):C(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):C(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return j(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return j(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return N(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return N(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(L,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function H(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(7))},function(t,e,r){"use strict";function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=n=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},function(t,e,r){"use strict";var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n,i,o=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var f,c=[],h=!1,l=-1;function d(){h&&f&&(h=!1,f.length?c=f.concat(c):l=-1,c.length&&p())}function p(){if(!h){var t=u(d);h=!0;for(var e=c.length;e;){for(f=c,c=[];++l1)for(var r=1;r=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,l=Math.min(f,e.length-1),d=Math.max(0,f-t.length+1);d<=l;d++){var p=f-d|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[d])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?h[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=l[t],c=d[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);r=(p=p.idivn(c)).isZero()?m+r:h[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],M=8191&k,S=k>>>13,A=0|a[5],x=8191&A,E=A>>>13,O=0|a[6],P=8191&O,B=O>>>13,T=0|a[7],R=8191&T,I=T>>>13,C=0|a[8],U=8191&C,j=C>>>13,N=0|a[9],L=8191&N,F=N>>>13,D=0|s[0],q=8191&D,H=D>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,lt=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(l,q)|0))<<13)|0;f=((o=Math.imul(l,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(l,K)|0))<<13)|0;f=((o=o+Math.imul(l,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(l,W)|0))<<13)|0;f=((o=o+Math.imul(l,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(l,X)|0))<<13)|0;f=((o=o+Math.imul(l,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(l,Q)|0))<<13)|0;f=((o=o+Math.imul(l,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(l,rt)|0))<<13)|0;f=((o=o+Math.imul(l,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,H))+Math.imul(B,q)|0,o=Math.imul(B,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(l,ot)|0))<<13)|0;f=((o=o+Math.imul(l,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(l,ut)|0))<<13)|0;f=((o=o+Math.imul(l,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,H))+Math.imul(j,q)|0,o=Math.imul(j,H),n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(l,ht)|0))<<13)|0;f=((o=o+Math.imul(l,lt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(F,q)|0,o=Math.imul(F,H),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(j,K)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,lt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(l,pt)|0))<<13)|0;f=((o=o+Math.imul(l,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(F,K)|0,o=Math.imul(F,G),n=n+Math.imul(U,W)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,Z)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,lt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(F,W)|0,o=Math.imul(F,Z),n=n+Math.imul(U,X)|0,i=(i=i+Math.imul(U,Y)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Y)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,lt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(F,X)|0,o=Math.imul(F,Y),n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,lt)|0;var Ot=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,lt)|0;var Pt=(f+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,lt)|0;var Bt=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),n=n+Math.imul(U,ut)|0,i=(i=i+Math.imul(U,ft)|0)+Math.imul(j,ut)|0,o=o+Math.imul(j,ft)|0,n=n+Math.imul(R,ht)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,lt)|0;var Tt=(f+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(B,pt)|0))<<13)|0;f=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(F,ut)|0,o=Math.imul(F,ft),n=n+Math.imul(U,ht)|0,i=(i=i+Math.imul(U,lt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,lt)|0;var Rt=(f+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,lt))+Math.imul(F,ht)|0,o=Math.imul(F,lt);var It=(f+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,mt)|0)+Math.imul(j,pt)|0))<<13)|0;f=((o=o+Math.imul(j,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(F,pt)|0))<<13)|0;return f=((o=Math.imul(F,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=Mt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Ot,u[13]=Pt,u[14]=Bt,u[15]=Tt,u[16]=Rt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function b(t,e,r){return(new v).mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var l=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,h);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=l)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var l=0,d=1;0==(e.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(e.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,l=1;0==(r.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new S(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function g(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(t,e){t.iushrn(this.n,0,e)},g.prototype.imulK=function(t){return t.imul(this.k)},o(w,g),w.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new _;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return y[t]=e,e},S.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),l=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new A(t)},o(A,S),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(17)(t))},function(t,e,r){"use strict";function n(t,e){for(var r=0;r=256||r%1)return!1}return!0}function c(t,e){if(e||(e={}),"number"==typeof t){o.checkSafeUint53(t,"invalid arrayify value");for(var r=[];t;)r.unshift(255&t),t=parseInt(String(t/256));return 0===r.length&&r.push(0),s(new Uint8Array(r))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),a(t)&&(t=t.toHexString()),d(t)){var n=t.substring(2);n.length%2&&("left"===e.hexPad?n="0x0"+n.substring(2):"right"===e.hexPad?n+="0":o.throwArgumentError("hex data is odd-length","value",t));for(var i=[],u=0;ue&&o.throwArgumentError("value out of range","value",arguments[0]);var r=new Uint8Array(e);return r.set(t,e-t.length),s(r)}function d(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}function p(t,e){if(e||(e={}),"number"==typeof t){o.checkSafeUint53(t,"invalid hexlify value");for(var r="";t;)r="0123456789abcdef"[15&t]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),a(t))return t.toHexString();if(d(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":o.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(f(t)){for(var n="0x",i=0;i>4]+"0123456789abcdef"[15&s]}return n}return o.throwArgumentError("invalid hexlify value","value",t)}function m(t){"string"!=typeof t&&(t=p(t)),d(t)||o.throwArgumentError("invalid hex string","value",t),t=t.substring(2);for(var e=0;e2*e+2&&o.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function v(t){var e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(u(t)){var r=c(t);65!==r.length&&o.throwArgumentError("invalid signature string; must be 65 bytes","signature",t),e.r=p(r.slice(0,32)),e.s=p(r.slice(32,64)),e.v=r[64],e.v<27&&(0===e.v||1===e.v?e.v+=27:o.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=p(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){var n=l(c(e._vs),32);e._vs=p(n);var i=n[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=i:e.recoveryParam!==i&&o.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),n[0]&=127;var a=p(n);null==e.s?e.s=a:e.s!==a&&o.throwArgumentError("signature v mismatch _vs","signature",t)}null==e.recoveryParam?null==e.v?o.throwArgumentError("signature missing v and recoveryParam","signature",t):0===e.v||1===e.v?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==1-e.v%2&&o.throwArgumentError("signature recoveryParam mismatch v","signature",t),null!=e.r&&d(e.r)?e.r=b(e.r,32):o.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&d(e.s)?e.s=b(e.s,32):o.throwArgumentError("signature missing or invalid s","signature",t);var s=c(e.s);s[0]>=128&&o.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(s[0]|=128);var f=p(s);e._vs&&(d(e._vs)||o.throwArgumentError("signature invalid _vs","signature",t),e._vs=b(e._vs,32)),null==e._vs?e._vs=f:e._vs!==f&&o.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e}},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.Logger=e.ErrorCode=e.LogLevel=void 0;var i=n(r(5)),o=n(r(9)),a=r(259),s=!1,u=!1,f={debug:1,default:2,info:2,warning:3,error:4,off:5},c=f.default,h=null;var l,d,p=function(){try{var t=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(e){try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(r){t.push(e)}})),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();e.LogLevel=l,function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(l||(e.LogLevel=l={})),e.ErrorCode=d,function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(d||(e.ErrorCode=d={}));var m=function(){function t(e){(0,i.default)(this,t),Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}return(0,o.default)(t,[{key:"_log",value:function(t,e){var r=t.toLowerCase();null==f[r]&&this.throwArgumentError("invalid log level name","logLevel",t),c>f[r]||console.log.apply(console,e)}},{key:"debug",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n=9007199254740991)&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}},{key:"checkArgumentCount",value:function(e,r,n){n=n?": "+n:"",er&&this.throwError("too many arguments"+n,t.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}},{key:"checkNew",value:function(e,r){e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}},{key:"checkAbstract",value:function(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",t.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}}],[{key:"globalLogger",value:function(){return h||(h=new t(a.version)),h}},{key:"setCensorship",value:function(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),s){if(!e)return;this.globalLogger().throwError("error censorship permanent",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}u=!!e,s=!!r}},{key:"setLogLevel",value:function(e){var r=f[e.toLowerCase()];null!=r?c=r:t.globalLogger().warn("invalid log level - "+e)}},{key:"from",value:function(e){return new t(e)}}]),t}();e.Logger=m,m.errors=d,m.levels=l},function(t,e,r){"use strict";function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.default=t.exports,t.exports.__esModule=!0,n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(136);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n(t,e)},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(2).default,i=r(137);t.exports=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?i(t):e},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(211),o=r(111),a=r(221),s=r(22),u=r(8),f=function t(e,r){var i=[];return r.forEach((function(r){if("object"===(0,n.default)(r.components)){if("tuple"!==r.type.substring(0,5))throw new Error("components found but type is not tuple; report on GitHub");var o="",a=r.type.indexOf("[");a>=0&&(o=r.type.substring(a));var s=t(e,r.components);Array.isArray(s)&&e?i.push("tuple("+s.join(",")+")"+o):e?i.push("("+s+")"):i.push("("+s.join(",")+")"+o)}else i.push(r.type)})),i},c=function(t){if(!o.isHexStrict(t))throw new Error("The parameter must be a valid HEX string.");var e="",r=0,n=t.length;for("0x"===t.substring(0,2)&&(r=2);r7?r+=t[n].toUpperCase():r+=t[n];return r},toHex:o.toHex,toBN:o.toBN,bytesToHex:o.bytesToHex,hexToBytes:o.hexToBytes,hexToNumberString:o.hexToNumberString,hexToNumber:o.hexToNumber,toDecimal:o.hexToNumber,numberToHex:o.numberToHex,fromDecimal:o.numberToHex,hexToUtf8:o.hexToUtf8,hexToString:o.hexToUtf8,toUtf8:o.hexToUtf8,stripHexPrefix:o.stripHexPrefix,utf8ToHex:o.utf8ToHex,stringToHex:o.utf8ToHex,fromUtf8:o.utf8ToHex,hexToAscii:c,toAscii:c,asciiToHex:h,fromAscii:h,unitMap:i.unitMap,toWei:function(t,e){if(e=l(e),!o.isBN(t)&&"string"!=typeof t)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(t)?i.toWei(t,e):i.toWei(t,e).toString(10)},fromWei:function(t,e){if(e=l(e),!o.isBN(t)&&"string"!=typeof t)throw new Error("Please pass numbers as strings or BN objects to avoid precision errors.");return o.isBN(t)?i.fromWei(t,e):i.fromWei(t,e).toString(10)},padLeft:o.leftPad,leftPad:o.leftPad,padRight:o.rightPad,rightPad:o.rightPad,toTwosComplement:o.toTwosComplement,isBloom:o.isBloom,isUserEthereumAddressInBloom:o.isUserEthereumAddressInBloom,isContractAddressInBloom:o.isContractAddressInBloom,isTopic:o.isTopic,isTopicInBloom:o.isTopicInBloom,isInBloom:o.isInBloom,compareBlockNumbers:function(t,e){if(t==e)return 0;if("genesis"!=t&&"earliest"!=t&&0!=t||"genesis"!=e&&"earliest"!=e&&0!=e){if("genesis"==t||"earliest"==t)return-1;if("genesis"==e||"earliest"==e)return 1;if("latest"==t)return"pending"==e?-1:1;if("latest"===e)return"pending"==t?1:-1;if("pending"==t)return 1;if("pending"==e)return-1;var r=new u(t),n=new u(e);return r.lt(n)?-1:r.eq(n)?0:1}return 0},toNumber:o.toNumber}},function(t,e,r){"use strict";t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=n,n.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},function(t,e,r){"use strict";var n=e,i=r(8),o=r(18),a=r(183);n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},n.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,u=t.andln(3)+i&3,f=e.andln(3)+o&3;3===u&&(u=-1),3===f&&(f=-1),a=0==(1&u)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==f?u:-u,r[0].push(a),s=0==(1&f)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==u?f:-f,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},n.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new i(t,"hex","le")}},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.checkResultErrors=function(t){var e=[];return function t(r,n){if(!Array.isArray(n))return;for(var i in n){var o=r.slice();o.push(i);try{t(o,n[i])}catch(t){e.push({path:o,error:t})}}}([],t),e},e.Reader=e.Writer=e.Coder=void 0;var i=n(r(5)),o=n(r(9)),a=r(11),s=r(24),u=r(33),f=r(12),c=r(50),h=new f.Logger(c.version);var l=function(){function t(e,r,n,o){(0,i.default)(this,t),this.name=e,this.type=r,this.localName=n,this.dynamic=o}return(0,o.default)(t,[{key:"_throwError",value:function(t,e){h.throwArgumentError(t,this.localName,e)}}]),t}();e.Coder=l;var d=function(){function t(e){(0,i.default)(this,t),(0,u.defineReadOnly)(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}return(0,o.default)(t,[{key:"data",get:function(){return(0,a.hexConcat)(this._data)}},{key:"length",get:function(){return this._dataLength}},{key:"_writeData",value:function(t){return this._data.push(t),this._dataLength+=t.length,t.length}},{key:"appendWriter",value:function(t){return this._writeData((0,a.concat)(t._data))}},{key:"writeBytes",value:function(t){var e=(0,a.arrayify)(t),r=e.length%this.wordSize;return r&&(e=(0,a.concat)([e,this._padding.slice(r)])),this._writeData(e)}},{key:"_getValue",value:function(t){var e=(0,a.arrayify)(s.BigNumber.from(t));return e.length>this.wordSize&&h.throwError("value out-of-bounds",f.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=(0,a.concat)([this._padding.slice(e.length%this.wordSize),e])),e}},{key:"writeValue",value:function(t){return this._writeData(this._getValue(t))}},{key:"writeUpdatableValue",value:function(){var t=this,e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,function(r){t._data[e]=t._getValue(r)}}}]),t}();e.Writer=d;var p=function(){function t(e,r,n,o){(0,i.default)(this,t),(0,u.defineReadOnly)(this,"_data",(0,a.arrayify)(e)),(0,u.defineReadOnly)(this,"wordSize",r||32),(0,u.defineReadOnly)(this,"_coerceFunc",n),(0,u.defineReadOnly)(this,"allowLoose",o),this._offset=0}return(0,o.default)(t,[{key:"data",get:function(){return(0,a.hexlify)(this._data)}},{key:"consumed",get:function(){return this._offset}},{key:"coerce",value:function(e,r){return this._coerceFunc?this._coerceFunc(e,r):t.coerce(e,r)}},{key:"_peekBytes",value:function(t,e,r){var n=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+e<=this._data.length?n=e:h.throwError("data out-of-bounds",f.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}},{key:"subReader",value:function(e){return new t(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}},{key:"readBytes",value:function(t,e){var r=this._peekBytes(0,t,!!e);return this._offset+=r.length,r.slice(0,t)}},{key:"readValue",value:function(){return s.BigNumber.from(this.readBytes(this.wordSize))}}],[{key:"coerce",value:function(t,e){var r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(e=e.toNumber()),e}}]),t}();e.Reader=p},function(t,e,r){"use strict";var n=r(18),i=r(3);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function a(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function s(t){return 1===t.length?"0"+t:t}function u(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=i,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i>6|192,r[n++]=63&a|128):o(t,i)?(a=65536+((1023&a)<<10)+(1023&t.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i>>0}return a},e.split32=function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,n){return t+e+r+n>>>0},e.sum32_5=function(t,e,r,n,i){return t+e+r+n+i>>>0},e.sum64=function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,a=(o>>0,t[e+1]=o},e.sum64_hi=function(t,e,r,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,r,n){return e+n>>>0},e.sum64_4_hi=function(t,e,r,n,i,o,a,s){var u=0,f=e;return u+=(f=f+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,r,n,i,o,a,s){return e+n+o+s>>>0},e.sum64_5_hi=function(t,e,r,n,i,o,a,s,u,f){var c=0,h=e;return c+=(h=h+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,r,n,i,o,a,s,u,f){return e+n+o+s+f>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},function(t,e,r){"use strict";(function(e,n){var i=r(4).Buffer,o=e.crypto||e.msCrypto;o&&o.getRandomValues?t.exports=function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var r=i.allocUnsafe(t);if(t>0)if(t>65536)for(var a=0;a0&&a.length>i&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=a.length,s=u,console&&console.warn&&console.warn(s)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=d.bind(n);return i.listener=r,n.wrapFn=i,i}function m(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[t];if(void 0===u)return!1;if("function"==typeof u)a(u,this,e);else{var f=u.length,c=v(u,f);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},u.prototype.listeners=function(t){return m(this,t,!0)},u.prototype.rawListeners=function(t){return m(this,t,!1)},u.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):b.call(t,e)},u.prototype.listenerCount=b,u.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"BigNumber",{enumerable:!0,get:function(){return n.BigNumber}}),Object.defineProperty(e,"_base16To36",{enumerable:!0,get:function(){return n._base16To36}}),Object.defineProperty(e,"_base36To16",{enumerable:!0,get:function(){return n._base36To16}}),Object.defineProperty(e,"formatFixed",{enumerable:!0,get:function(){return i.formatFixed}}),Object.defineProperty(e,"FixedFormat",{enumerable:!0,get:function(){return i.FixedFormat}}),Object.defineProperty(e,"FixedNumber",{enumerable:!0,get:function(){return i.FixedNumber}}),Object.defineProperty(e,"parseFixed",{enumerable:!0,get:function(){return i.parseFixed}});var n=r(126),i=r(261)},function(t,e,r){"use strict";var n=r(4).Buffer,i=r(87).Transform,o=r(29).StringDecoder;function a(t){i.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(3)(a,i),a.prototype.update=function(t,e,r){"string"==typeof t&&(t=n.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},a.prototype.setAutoPadding=function(){},a.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},a.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},a.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},a.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},a.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},a.prototype._finalOrDigest=function(t){var e=this.__final()||n.alloc(0);return t&&(e=this._toString(e,t,!0)),e},a.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new o(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},t.exports=a},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=function(t,e){for(var r in t)"default"===r||e.hasOwnProperty(r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),i(r(198),e),i(r(199),e),i(r(446),e),i(r(102),e),i(r(447),e),i(r(35),e),i(r(448),e),i(r(449),e),i(r(103),e),i(r(42),e)},function(t,e,r){"use strict";var n=r(206),i=r(252);t.exports={packageInit:function(t,e){if(e=Array.prototype.slice.call(e),!t)throw new Error('You need to instantiate using the "new" keyword.');Object.defineProperty(t,"currentProvider",{get:function(){return t._provider},set:function(e){return t.setProvider(e)},enumerable:!0,configurable:!0}),e[0]&&e[0]._requestManager?t._requestManager=e[0]._requestManager:t._requestManager=new n.Manager(e[0],e[1]),t.givenProvider=n.Manager.givenProvider,t.providers=n.Manager.providers,t._provider=t._requestManager.provider,t.setProvider||(t.setProvider=function(e,r){return t._requestManager.setProvider(e,r),t._provider=t._requestManager.provider,!0}),t.setRequestManager=function(e){t._requestManager=e,t._provider=e.provider},t.BatchRequest=n.BatchManager.bind(null,t._requestManager),t.extend=i(t)},addProviders:function(t){t.givenProvider=n.Manager.givenProvider,t.providers=n.Manager.providers}}},function(t,e,r){"use strict";var n=r(56),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var o=Object.create(r(47));o.inherits=r(3);var a=r(117),s=r(75);o.inherits(h,a);for(var u=i(s.prototype),f=0;f>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function f(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function l(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(t.lastNeed=i-1),i;if(--n=0)return i>0&&(t.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,r){"use strict";var n=r(0),i=n(r(48)),o=n(r(31)),a=n(r(44)),s=n(r(78)),u=n(r(2));function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function c(t){for(var e=1;e1?(t[r[0]]=t[r[0]]||{},t[r[0]][r[1]]=e):t[r[0]]=e},v.prototype.getCall=function(t){return"function"==typeof this.call?this.call(t):this.call},v.prototype.extractCallback=function(t){if("function"==typeof t[t.length-1])return t.pop()},v.prototype.validateArgs=function(t){if(t.length!==this.params)throw h.InvalidNumberOfParams(t.length,this.params,this.name)},v.prototype.formatInput=function(t){var e=this;return this.inputFormatter?this.inputFormatter.map((function(r,n){return r?r.call(e,t[n]):t[n]})):t},v.prototype.formatOutput=function(t){var e=this;return Array.isArray(t)?t.map((function(t){return e.outputFormatter&&t?e.outputFormatter(t):t})):this.outputFormatter&&t?this.outputFormatter(t):t},v.prototype.toPayload=function(t){var e=this.getCall(t),r=this.extractCallback(t),n=this.formatInput(t);this.validateArgs(n);var i={method:e,params:n,callback:r};return this.transformPayload&&(i=this.transformPayload(i)),i},v.prototype._confirmTransaction=function(t,e,r){var n=this,o=!1,a=!0,f=0,c=0,y=null,g=null,w=r.params[0]&&"object"===(0,u.default)(r.params[0])&&r.params[0].gas?r.params[0].gas:null,_=!!r.params[0]&&"object"===(0,u.default)(r.params[0])&&r.params[0].data&&r.params[0].from&&!r.params[0].to,k=_&&r.params[0].data.length>2,M=[new v({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[l.inputBlockNumberFormatter,function(t){return!!t}],outputFormatter:l.outputBlockFormatter}),new v({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:l.outputTransactionReceiptFormatter}),new v({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[l.inputAddressFormatter,l.inputDefaultBlockNumberFormatter]}),new v({name:"getTransactionByHash",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:l.outputTransactionFormatter}),new m({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:l.outputBlockFormatter}}})],S={};M.forEach((function(t){t.attachToObject(S),t.requestManager=n.requestManager}));var A=function(u,m,v,M,A){if(!v)return A||(A={unsubscribe:function(){clearInterval(y)}}),(u?p.resolve(u):S.getTransactionReceipt(e)).catch((function(e){A.unsubscribe(),o=!0,d._fireError({message:"Failed to check for transaction receipt:",data:e},t.eventEmitter,t.reject)})).then(function(){var e=(0,s.default)(i.default.mark((function e(r){var o,s,f;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&r.blockHash){e.next=2;break}throw new Error("Receipt missing or blockHash null");case 2:if(n.extraFormatters&&n.extraFormatters.receiptFormatter&&(r=n.extraFormatters.receiptFormatter(r)),!(t.eventEmitter.listeners("confirmation").length>0)){e.next=28;break}if(void 0!==u&&0===c){e.next=25;break}return e.next=7,S.getBlockByNumber("latest");case 7:if(s=e.sent,f=s?s.hash:null,!m){e.next=24;break}if(!g){e.next=17;break}return e.next=13,S.getBlockByNumber(g.number+1);case 13:(o=e.sent)&&(g=o,t.eventEmitter.emit("confirmation",c,r,f)),e.next=22;break;case 17:return e.next=19,S.getBlockByNumber(r.blockNumber);case 19:o=e.sent,g=o,t.eventEmitter.emit("confirmation",c,r,f);case 22:e.next=25;break;case 24:t.eventEmitter.emit("confirmation",c,r,f);case 25:(m&&o||!m)&&c++,a=!1,c===n.transactionConfirmationBlocks+1&&(A.unsubscribe(),t.eventEmitter.removeAllListeners());case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then(function(){var e=(0,s.default)(i.default.mark((function e(r){var s;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!_||o){e.next=19;break}if(r.contractAddress){e.next=5;break}return a&&(A.unsubscribe(),o=!0),d._fireError(h.NoContractAddressFoundError(r),t.eventEmitter,t.reject,null,r),e.abrupt("return");case 5:return e.prev=5,e.next=8,S.getCode(r.contractAddress);case 8:s=e.sent,e.next=13;break;case 11:e.prev=11,e.t0=e.catch(5);case 13:if(s){e.next=15;break}return e.abrupt("return");case 15:!0===r.status&&k||s.length>2?(t.eventEmitter.emit("receipt",r),n.extraFormatters&&n.extraFormatters.contractDeployFormatter?t.resolve(n.extraFormatters.contractDeployFormatter(r)):t.resolve(r),a&&t.eventEmitter.removeAllListeners()):d._fireError(h.ContractCodeNotStoredError(r),t.eventEmitter,t.reject,null,r),a&&A.unsubscribe(),o=!0;case 19:return e.abrupt("return",r);case 20:case"end":return e.stop()}}),e,null,[[5,11]])})));return function(t){return e.apply(this,arguments)}}()).then(function(){var e=(0,s.default)(i.default.mark((function e(s){var u,f,c,p;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(_||o){e.next=35;break}if(s.outOfGas||w&&w===s.gasUsed||!0!==s.status&&"0x1"!==s.status&&void 0!==s.status){e.next=7;break}t.eventEmitter.emit("receipt",s),t.resolve(s),a&&t.eventEmitter.removeAllListeners(),e.next=33;break;case 7:if(JSON.stringify(s,null,2),!1!==s.status&&"0x0"!==s.status){e.next=32;break}if(e.prev=9,u=null,!n.handleRevert||"eth_sendTransaction"!==n.call&&"eth_sendRawTransaction"!==n.call){e.next=24;break}return f=r.params[0],"eth_sendRawTransaction"===n.call&&(c=r.params[0],p=b.parse(c),f=l.inputTransactionFormatter({data:p.data,to:p.to,from:p.from,gas:p.gasLimit.toHexString(),gasPrice:p.gasPrice.toHexString(),value:p.value.toHexString()})),e.next=16,n.getRevertReason(f,s.blockNumber);case 16:if(!(u=e.sent)){e.next=21;break}d._fireError(h.TransactionRevertInstructionError(u.reason,u.signature,s),t.eventEmitter,t.reject,null,s),e.next=22;break;case 21:throw!1;case 22:e.next=25;break;case 24:throw!1;case 25:e.next=30;break;case 27:e.prev=27,e.t0=e.catch(9),d._fireError(h.TransactionRevertedWithoutReasonError(s),t.eventEmitter,t.reject,null,s);case 30:e.next=33;break;case 32:d._fireError(h.TransactionOutOfGasError(s),t.eventEmitter,t.reject,null,s);case 33:a&&A.unsubscribe(),o=!0;case 35:case"end":return e.stop()}}),e,null,[[9,27]])})));return function(t){return e.apply(this,arguments)}}()).catch((function(){f++,m?f-1>=n.transactionPollingTimeout&&(A.unsubscribe(),o=!0,d._fireError(h.TransactionError("Transaction was not mined within "+n.transactionPollingTimeout+" seconds, please make sure your transaction was properly sent. Be aware that it might still be mined!"),t.eventEmitter,t.reject)):f-1>=n.transactionBlockTimeout&&(A.unsubscribe(),o=!0,d._fireError(h.TransactionError("Transaction was not mined within "+n.transactionBlockTimeout+" blocks, please make sure your transaction was properly sent. Be aware that it might still be mined!"),t.eventEmitter,t.reject))}));A.unsubscribe(),o=!0,d._fireError({message:"Failed to subscribe to new newBlockHeaders to confirm the transaction receipts.",data:v},t.eventEmitter,t.reject)},x=function(t){var e=function(){y=setInterval(A.bind(null,t,!0),1e3)};this.requestManager.provider.on?S.subscribe("newBlockHeaders",(function(r,n,i){r||!n?e():A(t,!1,r,0,i)})):e()}.bind(this);S.getTransactionReceipt(e).then((function(e){e&&e.blockHash?(t.eventEmitter.listeners("confirmation").length>0&&x(e),A(e,!1)):o||x()})).catch((function(){o||x()}))};var y=function(t,e){return"number"==typeof t?e.wallet[t]:t&&"object"===(0,u.default)(t)&&t.address&&t.privateKey?t:e.wallet[t.toLowerCase()]};function g(t,e){return new Promise((function(r,n){try{var i=new v({name:"getBlockByNumber",call:"eth_getBlockByNumber",params:2,inputFormatter:[function(t){return t?d.toHex(t):"latest"},function(){return!1}]}).createFunction(t.requestManager),a=new v({name:"getGasPrice",call:"eth_gasPrice",params:0}).createFunction(t.requestManager);Promise.all([i(),a()]).then((function(t){var n=(0,o.default)(t,2),i=n[0],a=n[1];if(i&&i.baseFeePerGas){var s,u;e.gasPrice?(s=e.gasPrice,u=e.gasPrice,delete e.gasPrice):(s=e.maxPriorityFeePerGas||"0x3B9ACA00",u=e.maxFeePerGas||d.toHex(d.toBN(i.baseFeePerGas).mul(d.toBN(2)).add(d.toBN(s)))),r({maxFeePerGas:u,maxPriorityFeePerGas:s})}else{if(e.maxPriorityFeePerGas||e.maxFeePerGas)throw Error("Network doesn't support eip-1559");r({gasPrice:a})}}))}catch(t){n(t)}}))}v.prototype.buildCall=function(){var t=this,e="eth_sendTransaction"===t.call||"eth_sendRawTransaction"===t.call,r="eth_call"===t.call,n=function(){var n=p(!e),i=t.toPayload(Array.prototype.slice.call(arguments)),o=function(o,a){var s;if(t.handleRevert&&r&&t.abiCoder&&(!o&&t.isRevertReasonString(a)?s=a.substring(10):o&&o.data&&(s=o.data.substring(10)),s)){var u=t.abiCoder.decodeParameter("string","0x"+s);return void d._fireError(h.RevertInstructionError(u,"Error(String)"),n.eventEmitter,n.reject,i.callback,{reason:u,signature:"Error(String)"})}try{a=t.formatOutput(a)}catch(t){o=t}if(a instanceof Error&&(o=a),o)return o.error&&(o=o.error),d._fireError(o,n.eventEmitter,n.reject,i.callback);i.callback&&i.callback(null,a),e?(n.eventEmitter.emit("transactionHash",a),t._confirmTransaction(n,a,i)):o||n.resolve(a)},a=function(e){var r=c(c({},i),{},{method:"eth_sendRawTransaction",params:[e.rawTransaction]});t.requestManager.send(r,o)},s=function(t,e){var r;if(e&&e.accounts&&e.accounts.wallet&&e.accounts.wallet.length)if("eth_sendTransaction"===t.method){var i=t.params[0];if((r=y(i&&"object"===(0,u.default)(i)?i.from:null,e.accounts))&&r.privateKey)return delete(i=JSON.parse(JSON.stringify(i))).from,e.defaultChain&&!i.chain&&(i.chain=e.defaultChain),e.defaultHardfork&&!i.hardfork&&(i.hardfork=e.defaultHardfork),e.defaultCommon&&!i.common&&(i.common=e.defaultCommon),void e.accounts.signTransaction(i,r.privateKey).then(a).catch((function(t){if("function"==typeof n.eventEmitter.listeners&&n.eventEmitter.listeners("error").length){try{n.eventEmitter.emit("error",t)}catch(t){}n.eventEmitter.removeAllListeners(),n.eventEmitter.catch((function(){}))}n.reject(t)}))}else if("eth_sign"===t.method){var s=t.params[1];if((r=y(t.params[0],e.accounts))&&r.privateKey){var f=e.accounts.sign(s,r.privateKey);return t.callback&&t.callback(null,f.signature),void n.resolve(f.signature)}}return e.requestManager.send(t,o)};return e&&i.params[0]&&"object"===(0,u.default)(i.params[0])&&void 0===i.params[0].gasPrice&&(void 0===i.params[0].maxPriorityFeePerGas||void 0===i.params[0].maxFeePerGas)?g(t,i.params[0]).then((function(r){void 0!==r.gasPrice?i.params[0].gasPrice=r.gasPrice:void 0!==r.maxPriorityFeePerGas&&void 0!==r.maxFeePerGas&&(i.params[0].maxPriorityFeePerGas=r.maxPriorityFeePerGas,i.params[0].maxFeePerGas=r.maxFeePerGas),e&&setTimeout((function(){n.eventEmitter.emit("sending",i)}),0),s(i,t)})):(e&&setTimeout((function(){n.eventEmitter.emit("sending",i)}),0),s(i,t)),e&&setTimeout((function(){n.eventEmitter.emit("sent",i)}),0),n.eventEmitter};return n.method=t,n.request=this.request.bind(this),n},v.prototype.getRevertReason=function(t,e){var r=this;return new Promise((function(n,i){new v({name:"call",call:"eth_call",params:2,abiCoder:r.abiCoder,handleRevert:!0}).createFunction(r.requestManager)(t,d.numberToHex(e)).then((function(){n(!1)})).catch((function(t){t.reason?n({reason:t.reason,signature:t.signature}):i(t)}))}))},v.prototype.isRevertReasonString=function(t){return"string"==typeof t&&(t.length-2)/2%32==4&&"0x08c379a0"===t.substring(0,10)},v.prototype.request=function(){var t=this.toPayload(Array.prototype.slice.call(arguments));return t.format=this.formatOutput.bind(this),t},t.exports=v},function(t,e,r){"use strict";var n=r(254),i=r(255),o=r(124),a=r(256);t.exports=function(t,e){return n(t)||i(t,e)||o(t,e)||a()},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.keccak256=function(t){return"0x"+i.default.keccak_256((0,o.arrayify)(t))};var i=n(r(262)),o=r(11)},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.defineReadOnly=h,e.getStatic=function(t,e){for(var r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||"object"!==(0,a.default)(t.prototype))break;t=Object.getPrototypeOf(t.prototype).constructor}return null},e.resolveProperties=function(t){return f(this,void 0,void 0,i.default.mark((function e(){var r,n;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Object.keys(t).map((function(e){var r=t[e];return Promise.resolve(r).then((function(t){return{key:e,value:t}}))})),e.next=3,Promise.all(r);case 3:return n=e.sent,e.abrupt("return",n.reduce((function(t,e){return t[e.key]=e.value,t}),{}));case 5:case"end":return e.stop()}}),e)})))},e.checkProperties=function(t,e){t&&"object"===(0,a.default)(t)||c.throwArgumentError("invalid object","object",t);Object.keys(t).forEach((function(r){e[r]||c.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)}))},e.shallowCopy=function(t){var e={};for(var r in t)e[r]=t[r];return e},e.deepCopy=p,e.Description=void 0;var i=n(r(48)),o=n(r(5)),a=n(r(2)),s=r(12),u=r(269),f=function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function a(t){try{u(n.next(t))}catch(t){o(t)}}function s(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},c=new s.Logger(u.version);function h(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}var l={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function d(t){if(function t(e){if(null==e||l[(0,a.default)(e)])return!0;if(Array.isArray(e)||"object"===(0,a.default)(e)){if(!Object.isFrozen(e))return!1;for(var r=Object.keys(e),n=0;n=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){a.prototype.inspect=l}else a.prototype.inspect=l;function l(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?d[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var l=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?l+r:d[f-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,l=Math.min(f,e.length-1),d=Math.max(0,f-t.length+1);d<=l;d++){var p=f-d|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[d])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],M=8191&k,S=k>>>13,A=0|a[5],x=8191&A,E=A>>>13,O=0|a[6],P=8191&O,B=O>>>13,T=0|a[7],R=8191&T,I=T>>>13,C=0|a[8],U=8191&C,j=C>>>13,N=0|a[9],L=8191&N,F=N>>>13,D=0|s[0],q=8191&D,H=D>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,lt=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(l,q)|0))<<13)|0;f=((o=Math.imul(l,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(l,K)|0))<<13)|0;f=((o=o+Math.imul(l,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(l,W)|0))<<13)|0;f=((o=o+Math.imul(l,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(l,X)|0))<<13)|0;f=((o=o+Math.imul(l,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(l,Q)|0))<<13)|0;f=((o=o+Math.imul(l,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(l,rt)|0))<<13)|0;f=((o=o+Math.imul(l,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,H))+Math.imul(B,q)|0,o=Math.imul(B,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(l,ot)|0))<<13)|0;f=((o=o+Math.imul(l,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(l,ut)|0))<<13)|0;f=((o=o+Math.imul(l,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,H))+Math.imul(j,q)|0,o=Math.imul(j,H),n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(l,ht)|0))<<13)|0;f=((o=o+Math.imul(l,lt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(F,q)|0,o=Math.imul(F,H),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(j,K)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,lt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(l,pt)|0))<<13)|0;f=((o=o+Math.imul(l,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(F,K)|0,o=Math.imul(F,G),n=n+Math.imul(U,W)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,Z)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,lt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(F,W)|0,o=Math.imul(F,Z),n=n+Math.imul(U,X)|0,i=(i=i+Math.imul(U,Y)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Y)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,lt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(F,X)|0,o=Math.imul(F,Y),n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,lt)|0;var Ot=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,lt)|0;var Pt=(f+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,lt)|0;var Bt=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),n=n+Math.imul(U,ut)|0,i=(i=i+Math.imul(U,ft)|0)+Math.imul(j,ut)|0,o=o+Math.imul(j,ft)|0,n=n+Math.imul(R,ht)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,lt)|0;var Tt=(f+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(B,pt)|0))<<13)|0;f=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(F,ut)|0,o=Math.imul(F,ft),n=n+Math.imul(U,ht)|0,i=(i=i+Math.imul(U,lt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,lt)|0;var Rt=(f+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,lt))+Math.imul(F,ht)|0,o=Math.imul(F,lt);var It=(f+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,mt)|0)+Math.imul(j,pt)|0))<<13)|0;f=((o=o+Math.imul(j,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(F,pt)|0))<<13)|0;return f=((o=Math.imul(F,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=Mt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Ot,u[13]=Pt,u[14]=Bt,u[15]=Tt,u[16]=Rt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var l=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,h);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=l)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var l=0,d=1;0==(e.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(e.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,l=1;0==(r.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function k(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){k.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){k.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){k.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){k.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function O(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}k.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},k.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},k.prototype.split=function(t,e){t.iushrn(this.n,0,e)},k.prototype.imulK=function(t){return t.imul(this.k)},o(M,k),M.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},M.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new M;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),l=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new O(t)},o(O,E),O.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},O.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},O.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(17)(t))},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.baToJSON=e.addHexPrefix=e.toUnsigned=e.fromSigned=e.bufferToHex=e.bufferToInt=e.toBuffer=e.unpadHexString=e.unpadArray=e.unpadBuffer=e.setLengthRight=e.setLengthLeft=e.zeros=void 0;var i=n(r(34)),o=r(42),a=r(70);e.zeros=function(e){return t.allocUnsafe(e).fill(0)};var s=function(t,r,n){var i=e.zeros(r);return n?t.length0&&"0"===e.toString();)e=(t=t.slice(1))[0];return t};e.unpadBuffer=function(t){return a.assertIsBuffer(t),u(t)},e.unpadArray=function(t){return a.assertIsArray(t),u(t)},e.unpadHexString=function(t){return a.assertIsHexString(t),t=o.stripHexPrefix(t),u(t)},e.toBuffer=function(e){if(null==e)return t.allocUnsafe(0);if(t.isBuffer(e))return t.from(e);if(Array.isArray(e)||e instanceof Uint8Array)return t.from(e);if("string"==typeof e){if(!o.isHexString(e))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: "+e);return t.from(o.padToEven(o.stripHexPrefix(e)),"hex")}if("number"==typeof e)return o.intToBuffer(e);if(i.default.isBN(e))return e.toArrayLike(t);if(e.toArray)return t.from(e.toArray());if(e.toBuffer)return t.from(e.toBuffer());throw new Error("invalid type")},e.bufferToInt=function(t){return new i.default(e.toBuffer(t)).toNumber()},e.bufferToHex=function(t){return"0x"+(t=e.toBuffer(t)).toString("hex")},e.fromSigned=function(t){return new i.default(t).fromTwos(256)},e.toUnsigned=function(e){return t.from(e.toTwos(256).toArray())},e.addHexPrefix=function(t){return"string"!=typeof t||o.isHexPrefixed(t)?t:"0x"+t},e.baToJSON=function(r){if(t.isBuffer(r))return"0x"+r.toString("hex");if(r instanceof Array){for(var n=[],i=0;i2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,u;if("string"==typeof e&&(o="not ",e.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var f=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(f," ").concat(i," ").concat(a(e,"type"))}return u+=". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},function(t,e,r){"use strict";(function(e){var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var i=r(152),o=r(156);r(3)(f,i);for(var a=n(o.prototype),s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},function(t,e,r){"use strict";var n=r(0)(r(2));var i={};function o(t,e,r){r||(r=Error);var n=function(t){var r,n;function i(r,n,i){return t.call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,n,i))||this}return n=t,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);n.prototype.name=r.name,n.prototype.code=t,i[t]=n}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,u;if("string"==typeof e&&(o="not ",e.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var f=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(f," ").concat(i," ").concat(a(e,"type"))}return u+=". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},function(t,e,r){"use strict";(function(e){var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var i=r(177),o=r(181);r(3)(f,i);for(var a=n(o.prototype),s=0;s=0}))},intToBuffer:function(t){var r=s(t);return new e(a(r.slice(2)),"hex")},getBinarySize:function(t){if("string"!=typeof t)throw new Error("[ethjs-util] while getting binary size, method getBinarySize requires input 'str' to be type String, got '"+(0,n.default)(t)+"'.");return e.byteLength(t,"utf8")},isHexPrefixed:i,stripHexPrefix:o,padToEven:a,intToHex:s,fromAscii:function(t){for(var e="",r=0;r",'"',"`"," ","\r","\n","\t"]),h=["'"].concat(c),l=["%","/","?",";","#"].concat(h),d=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},v={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},g=r(227);function w(t,e,r){if(t&&o.isObject(t)&&t instanceof a)return t;var n=new a;return n.parse(t,e,r),n}a.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+(0,n.default)(t));var a=t.indexOf("?"),u=-1!==a&&a127?C+="x":C+=I[U];if(!C.match(p)){var N=T.slice(0,O),L=T.slice(O+1),F=I.match(m);F&&(N.push(F[1]),L.unshift(F[2])),L.length&&(w="/"+L.join(".")+w),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),B||(this.hostname=i.toASCII(this.hostname));var D=this.port?":"+this.port:"",q=this.hostname||"";this.host=q+D,this.href+=this.host,B&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!b[M])for(O=0,R=h.length;O0)&&r.host.split("@"))&&(r.auth=P.shift(),r.host=r.hostname=P.shift());return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var A=M.slice(-1)[0],x=(r.host||t.host||M.length>1)&&("."===A||".."===A)||""===A,E=0,O=M.length;O>=0;O--)"."===(A=M[O])?M.splice(O,1):".."===A?(M.splice(O,1),E++):E&&(M.splice(O,1),E--);if(!_&&!k)for(;E--;E)M.unshift("..");!_||""===M[0]||M[0]&&"/"===M[0].charAt(0)||M.unshift(""),x&&"/"!==M.join("/").substr(-1)&&M.push("");var P,B=""===M[0]||M[0]&&"/"===M[0].charAt(0);S&&(r.hostname=r.host=B?"":M.length?M.shift():"",(P=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=P.shift(),r.host=r.hostname=P.shift()));return(_=_||r.host&&M.length)&&!B&&M.unshift(""),M.length?r.pathname=M.join("/"):(r.pathname=null,r.path=null),o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},a.prototype.parseHost=function(){var t=this.host,e=u.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,r){"use strict";(e=t.exports=r(117)).Stream=e,e.Readable=e,e.Writable=r(75),e.Duplex=r(28),e.Transform=r(121),e.PassThrough=r(242)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2));function i(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===i(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"===(0,n.default)(t)},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===i(t)},e.isObject=function(t){return"object"===(0,n.default)(t)&&null!==t},e.isDate=function(t){return"[object Date]"===i(t)},e.isError=function(t){return"[object Error]"===i(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===(0,n.default)(t)||void 0===t},e.isBuffer=t.isBuffer}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=r(253)},function(t,e,r){"use strict";var n=r(21),i=r(18);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o1?(t[r[0]]=t[r[0]]||{},t[r[0]][r[1]]=e):t[r[0]]=e},i.prototype.buildCall=function(){var t=this;return function(){t.subscriptions[arguments[0]]||console.warn("Subscription "+JSON.stringify(arguments[0])+" doesn't exist. Subscribing anyway.");var e=new n({subscription:t.subscriptions[arguments[0]]||{},requestManager:t.requestManager,type:t.type});return e.subscribe.apply(e,arguments)}},t.exports={subscriptions:i,subscription:n}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getAddress=v,e.isAddress=function(t){try{return v(t),!0}catch(t){}return!1},e.getIcapAddress=function(t){var e=(0,i._base16To36)(v(t).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+b("XE00"+e)+e},e.getContractAddress=function(t){var e=null;try{e=v(t.from)}catch(e){f.throwArgumentError("missing from address","transaction",t)}var r=(0,n.stripZeros)((0,n.arrayify)(i.BigNumber.from(t.nonce).toHexString()));return v((0,n.hexDataSlice)((0,o.keccak256)((0,a.encode)([e,r])),12))},e.getCreate2Address=function(t,e,r){32!==(0,n.hexDataLength)(e)&&f.throwArgumentError("salt must be 32 bytes","salt",e);32!==(0,n.hexDataLength)(r)&&f.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r);return v((0,n.hexDataSlice)((0,o.keccak256)((0,n.concat)(["0xff",v(t),e,r])),12))};var n=r(11),i=r(24),o=r(32),a=r(128),s=r(12),u=r(264),f=new s.Logger(u.version);function c(t){(0,n.isHexString)(t,20)||f.throwArgumentError("invalid address","address",t);for(var e=(t=t.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),i=0;i<40;i++)r[i]=e[i].charCodeAt(0);for(var a=(0,n.arrayify)((0,o.keccak256)(r)),s=0;s<40;s+=2)a[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(15&a[s>>1])>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}for(var h={},l=0;l<10;l++)h[String(l)]=String(l);for(var d=0;d<26;d++)h[String.fromCharCode(65+d)]=String(10+d);var p,m=Math.floor((p=9007199254740991,Math.log10?Math.log10(p):Math.log(p)/Math.LN10));function b(t){for(var e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map((function(t){return h[t]})).join("");e.length>=m;){var r=e.substring(0,m);e=parseInt(r,10)%97+e.substring(r.length)}for(var n=String(98-parseInt(e,10)%97);n.length<2;)n="0"+n;return n}function v(t){var e=null;if("string"!=typeof t&&f.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=c(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&f.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==b(t)&&f.throwArgumentError("bad icap checksum","address",t),e=(0,i._base36To16)(t.substring(4));e.length<40;)e="0"+e;e=c("0x"+e)}else f.throwArgumentError("invalid address","address",t);return e}},function(t,e,r){"use strict";var n=e;n.utils=r(21),n.common=r(49),n.sha=r(272),n.ripemd=r(276),n.hmac=r(277),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},function(t,e,r){"use strict";var n=r(27),i=r(30),o=r(16),a=function(){var t=this;n.packageInit(this,arguments),[new i({name:"getId",call:"net_version",params:0,outputFormatter:parseInt}),new i({name:"isListening",call:"net_listening",params:0}),new i({name:"getPeerCount",call:"net_peerCount",params:0,outputFormatter:o.hexToNumber})].forEach((function(e){e.attachToObject(t),e.setRequestManager(t._requestManager)}))};n.addProviders(a),t.exports=a},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"formatBytes32String",{enumerable:!0,get:function(){return n.formatBytes32String}}),Object.defineProperty(e,"parseBytes32String",{enumerable:!0,get:function(){return n.parseBytes32String}}),Object.defineProperty(e,"nameprep",{enumerable:!0,get:function(){return i.nameprep}}),Object.defineProperty(e,"_toEscapedUtf8String",{enumerable:!0,get:function(){return o._toEscapedUtf8String}}),Object.defineProperty(e,"toUtf8Bytes",{enumerable:!0,get:function(){return o.toUtf8Bytes}}),Object.defineProperty(e,"toUtf8CodePoints",{enumerable:!0,get:function(){return o.toUtf8CodePoints}}),Object.defineProperty(e,"toUtf8String",{enumerable:!0,get:function(){return o.toUtf8String}}),Object.defineProperty(e,"UnicodeNormalizationForm",{enumerable:!0,get:function(){return o.UnicodeNormalizationForm}}),Object.defineProperty(e,"Utf8ErrorFuncs",{enumerable:!0,get:function(){return o.Utf8ErrorFuncs}}),Object.defineProperty(e,"Utf8ErrorReason",{enumerable:!0,get:function(){return o.Utf8ErrorReason}});var n=r(292),i=r(294),o=r(81)},function(t){t.exports=JSON.parse('{"identity":0,"ip4":4,"tcp":6,"sha1":17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,"dccp":33,"murmur3-128":34,"murmur3-32":35,"ip6":41,"ip6zone":42,"path":47,"multicodec":48,"multihash":49,"multiaddr":50,"multibase":51,"dns":53,"dns4":54,"dns6":55,"dnsaddr":56,"protobuf":80,"cbor":81,"raw":85,"dbl-sha2-256":86,"rlp":96,"bencode":99,"dag-pb":112,"dag-cbor":113,"libp2p-key":114,"git-raw":120,"torrent-info":123,"torrent-file":124,"leofcoin-block":129,"leofcoin-tx":130,"leofcoin-pr":131,"sctp":132,"eth-block":144,"eth-block-list":145,"eth-tx-trie":146,"eth-tx":147,"eth-tx-receipt-trie":148,"eth-tx-receipt":149,"eth-state-trie":150,"eth-account-snapshot":151,"eth-storage-trie":152,"bitcoin-block":176,"bitcoin-tx":177,"zcash-block":192,"zcash-tx":193,"stellar-block":208,"stellar-tx":209,"md4":212,"md5":213,"bmt":214,"decred-block":224,"decred-tx":225,"ipld-ns":226,"ipfs-ns":227,"swarm-ns":228,"ipns-ns":229,"zeronet":230,"ed25519-pub":237,"dash-block":240,"dash-tx":241,"swarm-manifest":250,"swarm-feed":251,"udp":273,"p2p-webrtc-star":275,"p2p-webrtc-direct":276,"p2p-stardust":277,"p2p-circuit":290,"dag-json":297,"udt":301,"utp":302,"unix":400,"p2p":421,"ipfs":421,"https":443,"onion":444,"onion3":445,"garlic64":446,"garlic32":447,"tls":448,"quic":460,"ws":477,"wss":478,"p2p-websocket-star":479,"http":480,"json":512,"messagepack":513,"x11":4352,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46000,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"holochain-adr-v0":8417572,"holochain-adr-v1":8483108,"holochain-key-v0":9728292,"holochain-key-v1":9793828,"holochain-sig-v0":10645796,"holochain-sig-v1":10711332}')},function(t,e,r){"use strict";e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=r(22),e.createHash=e.Hash=r(36),e.createHmac=e.Hmac=r(160);var n=r(366),i=Object.keys(n),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);e.getHashes=function(){return o};var a=r(163);e.pbkdf2=a.pbkdf2,e.pbkdf2Sync=a.pbkdf2Sync;var s=r(368);e.Cipher=s.Cipher,e.createCipher=s.createCipher,e.Cipheriv=s.Cipheriv,e.createCipheriv=s.createCipheriv,e.Decipher=s.Decipher,e.createDecipher=s.createDecipher,e.Decipheriv=s.Decipheriv,e.createDecipheriv=s.createDecipheriv,e.getCiphers=s.getCiphers,e.listCiphers=s.listCiphers;var u=r(383);e.DiffieHellmanGroup=u.DiffieHellmanGroup,e.createDiffieHellmanGroup=u.createDiffieHellmanGroup,e.getDiffieHellman=u.getDiffieHellman,e.createDiffieHellman=u.createDiffieHellman,e.DiffieHellman=u.DiffieHellman;var f=r(387);e.createSign=f.createSign,e.Sign=f.Sign,e.createVerify=f.createVerify,e.Verify=f.Verify,e.createECDH=r(422);var c=r(423);e.publicEncrypt=c.publicEncrypt,e.privateEncrypt=c.privateEncrypt,e.publicDecrypt=c.publicDecrypt,e.privateDecrypt=c.privateDecrypt;var h=r(426);e.randomFill=h.randomFill,e.randomFillSync=h.randomFillSync,e.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function(t,e,r){"use strict";var n=r(4).Buffer;function i(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i>>24]^c[p>>>16&255]^h[m>>>8&255]^l[255&b]^e[v++],a=f[p>>>24]^c[m>>>16&255]^h[b>>>8&255]^l[255&d]^e[v++],s=f[m>>>24]^c[b>>>16&255]^h[d>>>8&255]^l[255&p]^e[v++],u=f[b>>>24]^c[d>>>16&255]^h[p>>>8&255]^l[255&m]^e[v++],d=o,p=a,m=s,b=u;return o=(n[d>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&b])^e[v++],a=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[b>>>8&255]<<8|n[255&d])^e[v++],s=(n[m>>>24]<<24|n[b>>>16&255]<<16|n[d>>>8&255]<<8|n[255&p])^e[v++],u=(n[b>>>24]<<24|n[d>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[v++],[o>>>=0,a>>>=0,s>>>=0,u>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var f=s^s<<1^s<<2^s<<3^s<<4;f=f>>>8^255&f^99,r[a]=f,n[f]=a;var c=t[a],h=t[c],l=t[h],d=257*t[f]^16843008*f;i[0][a]=d<<24|d>>>8,i[1][a]=d<<16|d>>>16,i[2][a]=d<<8|d>>>24,i[3][a]=d,d=16843009*l^65537*h^257*c^16843008*a,o[0][f]=d<<24|d>>>8,o[1][f]=d<<16|d>>>16,o[2][f]=d<<8|d>>>24,o[3][f]=d,0===a?a=s=1:(a=c^t[t[t[l^c]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function f(t){this._key=i(t),this._reset()}f.blockSize=16,f.keySize=32,f.prototype.blockSize=f.blockSize,f.prototype.keySize=f.keySize,f.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=s[o/e|0]<<24):e>6&&o%e==4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),i[o]=i[o-e]^a}for(var f=[],c=0;c>>24]]^u.INV_SUB_MIX[1][u.SBOX[l>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[l>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&l]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=f},f.prototype.encryptBlockRaw=function(t){return a(t=i(t),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},f.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=n.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},f.prototype.decryptBlock=function(t){var e=(t=i(t))[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},f.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=f},function(t,e,r){"use strict";var n=r(4).Buffer,i=r(83);t.exports=function(t,e,r,o){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var a=r/8,s=n.alloc(a),u=n.alloc(o||0),f=n.alloc(0);a>0||o>0;){var c=new i;c.update(f),c.update(t),e&&c.update(e),f=c.digest();var h=0;if(a>0){var l=s.length-a;h=Math.min(a,f.length),f.copy(s,l,0,h),a-=h}if(h0){var d=u.length-o,p=Math.min(o,f.length-h);f.copy(u,d,h,h+p),o-=p}}return f.fill(0),{key:s,iv:u}}},function(t,e,r){"use strict";var n=r(8),i=r(19),o=i.getNAF,a=i.getJSF,s=i.assert;function u(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function f(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){s(t.precomputed);var r=t._getDoubles(),n=o(e,1,this._bitLength),i=(1<=a;c--)u=(u<<1)+n[c];f.push(u)}for(var h=this.jpoint(null,null,null),l=this.jpoint(null,null,null),d=i;d>0;d--){for(a=0;a=0;f--){for(var c=0;f>=0&&0===a[f];f--)c++;if(f>=0&&c++,u=u.dblp(c),f<0)break;var h=a[f];s(0!==h),u="affine"===t.type?h>0?u.mixedAdd(i[h-1>>1]):u.mixedAdd(i[-h-1>>1].neg()):h>0?u.add(i[h-1>>1]):u.add(i[-h-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,r,n,i){var s,u,f,c=this._wnafT1,h=this._wnafT2,l=this._wnafT3,d=0;for(s=0;s=1;s-=2){var m=s-1,b=s;if(1===c[m]&&1===c[b]){var v=[e[m],null,null,e[b]];0===e[m].y.cmp(e[b].y)?(v[1]=e[m].add(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg())):0===e[m].y.cmp(e[b].y.redNeg())?(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].add(e[b].neg())):(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[m],r[b]);for(d=Math.max(g[0].length,d),l[m]=new Array(d),l[b]=new Array(d),u=0;u=0;s--){for(var S=0;s>=0;){var A=!0;for(u=0;u=0&&S++,k=k.dblp(S),s<0)break;for(u=0;u0?f=h[u][x-1>>1]:x<0&&(f=h[u][-x-1>>1].neg()),k="affine"===f.type?k.mixedAdd(f):k.add(f))}}for(s=0;s=Math.ceil((t.bitLength()+1)/e.step)},f.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;ir.length)throw new Error("invalid rlp: total length is larger than the data");if(0===(s=r.slice(o,h)).length)throw new Error("invalid rlp, List has a invalid length");for(;s.length;)u=e(s),f.push(u.data),s=u.remainder;return{data:f,remainder:r.slice(h)}}(u(e));if(r)return n;if(0!==n.remainder.length)throw new Error("invalid remainder");return n.data},e.getLength=function(e){if(!e||0===e.length)return t.from([]);var r=u(e),n=r[0];if(n<=127)return r.length;if(n<=183)return n-127;if(n<=191)return n-182;if(n<=247)return n-191;var o=n-246;return o+i(r.slice(1,o).toString("hex"),16)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.assertIsString=e.assertIsArray=e.assertIsBuffer=e.assertIsHexString=void 0;var n=r(42);e.assertIsHexString=function(t){if(!n.isHexString(t))throw new Error("This method only supports 0x-prefixed hex strings but input was: "+t)},e.assertIsBuffer=function(e){if(!t.isBuffer(e))throw new Error("This method only supports Buffer but input was: "+e)},e.assertIsArray=function(t){if(!Array.isArray(t))throw new Error("This method only supports number arrays but input was: "+t)},e.assertIsString=function(t){if("string"!=typeof t)throw new Error("This method only supports strings but input was: "+t)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n="0123456789abcdef".split(""),i=[1,256,65536,16777216],o=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=function(t){var e,r,n,i,o,s,u,f,c,h,l,d,p,m,b,v,y,g,w,_,k,M,S,A,x,E,O,P,B,T,R,I,C,U,j,N,L,F,D,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],s=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],f=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],l=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(s<<1|u>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|s>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=s^(h<<1|l>>>31),r=u^(l<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(d<<1|p>>>31),r=c^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,P=t[20]<<3|t[21]>>>29,B=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,U=t[2]<<1|t[3]>>>31,j=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,T=t[33]<<13|t[32]>>>19,R=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,N=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,k=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,O=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,M=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&P,t[11]=x^~O&B,t[20]=U^~N&F,t[21]=j^~L&D,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&k,t[12]=E^~P&T,t[13]=O^~B&R,t[22]=N^~F&q,t[23]=L^~D&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&M,t[5]=w^~k&S,t[14]=P^~T&I,t[15]=B^~R&C,t[24]=F^~q&z,t[25]=D^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~M&m,t[7]=k^~S&b,t[16]=T^~I&A,t[17]=R^~C&x,t[26]=q^~z&U,t[27]=H^~K&j,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=M^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&O,t[28]=z^~U&N,t[29]=K^~j&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=a[n],t[1]^=a[n+1]},u=function(t){return function(e){var r;if("0x"===e.slice(0,2)){r=[];for(var a=2,u=e.length;a>2]|=e[d]<>2]|=r<>2]|=(192|r>>6)<>2]|=(128|63&r)<=57344?(u[b>>2]|=(224|r>>12)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<=f){for(t.start=b-f,t.block=u[c],b=0;b>2]|=i[3&b],t.lastByteIndex===f)for(u[0]=u[c],b=1;b>4&15]+n[15&p]+n[p>>12&15]+n[p>>8&15]+n[p>>20&15]+n[p>>16&15]+n[p>>28&15]+n[p>>24&15];v%c==0&&(s(l),b=0)}return"0x"+m}(function(t){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(t<<1)>>5,outputBlocks:t>>5,s:(e=[0,0,0,0,0,0,0,0,0,0],[].concat(e,e,e,e,e))};var e}(t),r)}};t.exports={keccak256:u(256),keccak512:u(512),keccak256s:u(256),keccak512s:u(512)}},function(t,e){(function(e){t.exports=e}).call(this,{})},function(t,e,r){"use strict";var n=Object.prototype.hasOwnProperty,i="~";function o(){}function a(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function s(t,e,r,n,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new a(r,n||t,o),u=i?i+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function u(t,e){0==--t._eventsCount?t._events=new o:delete t._events[e]}function f(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),f.prototype.eventNames=function(){var t,e,r=[];if(0===this._eventsCount)return r;for(e in t=this._events)n.call(t,e)&&r.push(i?e.slice(1):e);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},f.prototype.listeners=function(t){var e=i?i+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,o=r.length,a=new Array(o);n-1?n:o.nextTick;y.WritableState=v;var f=Object.create(r(47));f.inherits=r(3);var c={deprecate:r(76)},h=r(118),l=r(4).Buffer,d=i.Uint8Array||function(){};var p,m=r(119);function b(){}function v(t,e){s=s||r(28),t=t||{};var n=e instanceof s;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,f=t.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(f||0===f)?f:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===t.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(o.nextTick(i,n),o.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(i(n),t._writableState.errorEmitted=!0,t.emit("error",n),S(t,e))}(t,r,n,e,i);else{var a=k(r);a||r.corked||r.bufferProcessing||!r.bufferedRequest||_(t,r),n?u(w,t,r,a,i):w(t,r,a,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function y(t){if(s=s||r(28),!(p.call(y,this)||this instanceof s))return new y(t);this._writableState=new v(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),h.call(this)}function g(t,e,r,n,i,o,a){e.writelen=n,e.writecb=a,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function w(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),S(t,e)}function _(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,u=!0;r;)i[s]=r,r.isBuf||(u=!1),r=r.next,s+=1;i.allBuffers=u,g(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new a(e),e.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,c=r.encoding,h=r.callback;if(g(t,e,!1,e.objectMode?1:f.length,f,c,h),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function k(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function M(t,e){t._final((function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),S(t,e)}))}function S(t,e){var r=k(e);return r&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(M,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}f.inherits(y,h),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(t){return!!p.call(this,t)||this===y&&(t&&t._writableState instanceof v)}})):p=function(t){return t instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(t,e,r){var n,i=this._writableState,a=!1,s=!i.objectMode&&(n=t,l.isBuffer(n)||n instanceof d);return s&&!l.isBuffer(t)&&(t=function(t){return l.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof r&&(r=b),i.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),o.nextTick(e,r)}(this,r):(s||function(t,e,r,n){var i=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(t.emit("error",a),o.nextTick(n,a),i=!1),i}(this,i,t,r))&&(i.pendingcb++,a=function(t,e,r,n,i,o){if(!r){var a=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=l.from(e,r));return e}(e,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=e.objectMode?1:n.length;e.length+=s;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var n=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(t,e,r){e.ending=!0,S(t,e),r&&(e.finished?o.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,n,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,r(6),r(120).setImmediate,r(7))},function(t,e,r){"use strict";(function(e){function r(t){try{if(!e.localStorage)return!1}catch(t){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=function(t,e){if(r("noDeprecation"))return t;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(e);r("traceDeprecation")?console.trace(e):console.warn(e),n=!0}return t.apply(this,arguments)}}}).call(this,r(7))},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.listeners={}}return t.prototype.addEventListener=function(t,e){t=t.toLowerCase(),this.listeners[t]=this.listeners[t]||[],this.listeners[t].push(e.handleEvent||e)},t.prototype.removeEventListener=function(t,e){if(t=t.toLowerCase(),this.listeners[t]){var r=this.listeners[t].indexOf(e.handleEvent||e);r<0||this.listeners[t].splice(r,1)}},t.prototype.dispatchEvent=function(t){var e=t.type.toLowerCase();if(t.target=this,this.listeners[e])for(var r=0,n=this.listeners[e];r=0||"tuple"===t)&&v[e])return!0;return(b[e]||"payable"===e)&&p.throwArgumentError("invalid modifier","name",e),!1}function g(t,e){for(var r in e)(0,c.defineReadOnly)(t,r,e[r])}var w=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});e.FormatTypes=w;var _=new RegExp(/^(.*)\[([0-9]*)\]$/),k=function(){function t(e,r){(0,s.default)(this,t),e!==m&&p.throwError("use fromString",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),g(this,r);var n=this.type.match(_);g(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:t.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return(0,u.default)(t,[{key:"format",value:function(t){if(t||(t=w.sighash),w[t]||p.throwArgumentError("invalid format type","format",t),t===w.json){var e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map((function(e){return JSON.parse(e.format(t))}))),JSON.stringify(e)}var r="";return"array"===this.baseType?(r+=this.arrayChildren.format(t),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==w.sighash&&(r+=this.type),r+="("+this.components.map((function(e){return e.format(t)})).join(t===w.full?", ":",")+")"):r+=this.type,t!==w.sighash&&(!0===this.indexed&&(r+=" indexed"),t===w.full&&this.name&&(r+=" "+this.name)),r}}],[{key:"from",value:function(e,r){return"string"==typeof e?t.fromString(e,r):t.fromObject(e)}},{key:"fromObject",value:function(e){return t.isParamType(e)?e:new t(m,{name:e.name||null,type:T(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(t.fromObject):null})}},{key:"fromString",value:function(e,r){return function(e){return t.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(t,e){var r=t;function n(e){p.throwArgumentError("unexpected character at position ".concat(e),"param",t)}function i(t){var r={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(r.indexed=!1),r}t=t.replace(/\s/g," ");for(var o={type:"",name:"",state:{allowType:!0}},a=o,s=0;s2&&p.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||p.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=f.BigNumber.from(r[1]),r[0]):t}function E(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach((function(t){switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}}))}function O(t){var e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&&p.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&&p.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||p.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&p.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&&p.throwArgumentError("unable to determine stateMutability","value",t),e}e.EventFragment=A;var P=function(t){(0,i.default)(r,t);var e=d(r);function r(){return(0,s.default)(this,r),e.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(t){if(t||(t=w.sighash),w[t]||p.throwArgumentError("invalid format type","format",t),t===w.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))}))});t===w.sighash&&p.throwError("cannot format a constructor for sighash",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var e="constructor("+this.inputs.map((function(e){return e.format(t)})).join(t===w.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()}}],[{key:"from",value:function(t){return"string"==typeof t?r.fromString(t):r.fromObject(t)}},{key:"fromObject",value:function(t){if(r.isConstructorFragment(t))return t;"constructor"!==t.type&&p.throwArgumentError("invalid constructor object","value",t);var e=O(t);e.constant&&p.throwArgumentError("constructor cannot be constant","value",t);var n={name:null,type:t.type,inputs:t.inputs?t.inputs.map(k.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?f.BigNumber.from(t.gas):null};return new r(m,n)}},{key:"fromString",value:function(t){var e={type:"constructor"},n=(t=x(t,e)).match(C);return n&&"constructor"===n[1].trim()||p.throwArgumentError("invalid constructor string","value",t),e.inputs=M(n[2].trim(),!1),E(n[3].trim(),e),r.fromObject(e)}},{key:"isConstructorFragment",value:function(t){return t&&t._isFragment&&"constructor"===t.type}}]),r}(S);e.ConstructorFragment=P;var B=function(t){(0,i.default)(r,t);var e=d(r);function r(){return(0,s.default)(this,r),e.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(t){if(t||(t=w.sighash),w[t]||p.throwArgumentError("invalid format type","format",t),t===w.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))})),ouputs:this.outputs.map((function(e){return JSON.parse(e.format(t))}))});var e="";return t!==w.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map((function(e){return e.format(t)})).join(t===w.full?", ":",")+") ",t!==w.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map((function(e){return e.format(t)})).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()}}],[{key:"from",value:function(t){return"string"==typeof t?r.fromString(t):r.fromObject(t)}},{key:"fromObject",value:function(t){if(r.isFunctionFragment(t))return t;"function"!==t.type&&p.throwArgumentError("invalid function object","value",t);var e=O(t),n={type:t.type,name:I(t.name),constant:e.constant,inputs:t.inputs?t.inputs.map(k.fromObject):[],outputs:t.outputs?t.outputs.map(k.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?f.BigNumber.from(t.gas):null};return new r(m,n)}},{key:"fromString",value:function(t){var e={type:"function"},n=(t=x(t,e)).split(" returns ");n.length>2&&p.throwArgumentError("invalid function string","value",t);var i=n[0].match(C);if(i||p.throwArgumentError("invalid function signature","value",t),e.name=i[1].trim(),e.name&&I(e.name),e.inputs=M(i[2],!1),E(i[3].trim(),e),n.length>1){var o=n[1].match(C);""==o[1].trim()&&""==o[3].trim()||p.throwArgumentError("unexpected tokens","value",t),e.outputs=M(o[2],!1)}else e.outputs=[];return r.fromObject(e)}},{key:"isFunctionFragment",value:function(t){return t&&t._isFragment&&"function"===t.type}}]),r}(P);function T(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}e.FunctionFragment=B;var R=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function I(t){return t&&t.match(R)||p.throwArgumentError('invalid identifier "'.concat(t,'"'),"value",t),t}var C=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toUtf8Bytes=l,e._toEscapedUtf8String=function(t,e){return'"'+h(t,e).map((function(t){if(t<256){switch(t){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(t>=32&&t<127)return String.fromCharCode(t)}return t<=65535?d(t):d(55296+((t-=65536)>>10&1023))+d(56320+(1023&t))})).join("")+'"'},e._toUtf8String=p,e.toUtf8String=function(t,e){return p(h(t,e))},e.toUtf8CodePoints=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;return h(l(t,e))},e.Utf8ErrorFuncs=e.Utf8ErrorReason=e.UnicodeNormalizationForm=void 0;var n,i,o=r(11),a=r(12),s=r(293),u=new a.Logger(s.version);function f(t,e,r,n,o){if(t===i.BAD_PREFIX||t===i.UNEXPECTED_CONTINUE){for(var a=0,s=e+1;s>6==2;s++)a++;return a}return t===i.OVERRUN?r.length-e-1:0}e.UnicodeNormalizationForm=n,function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(n||(e.UnicodeNormalizationForm=n={})),e.Utf8ErrorReason=i,function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(i||(e.Utf8ErrorReason=i={}));var c=Object.freeze({error:function(t,e,r,n,i){return u.throwArgumentError("invalid codepoint at offset ".concat(e,"; ").concat(t),"bytes",r)},ignore:f,replace:function(t,e,r,n,o){return t===i.OVERLONG?(n.push(o),0):(n.push(65533),f(t,e,r))}});function h(t,e){null==e&&(e=c.error),t=(0,o.arrayify)(t);for(var r=[],n=0;n>7!=0){var s=null,u=null;if(192==(224&a))s=1,u=127;else if(224==(240&a))s=2,u=2047;else{if(240!=(248&a)){n+=e(128==(192&a)?i.UNEXPECTED_CONTINUE:i.BAD_PREFIX,n-1,t,r);continue}s=3,u=65535}if(n-1+s>=t.length)n+=e(i.OVERRUN,n-1,t,r);else{for(var f=a&(1<<8-s-1)-1,h=0;h1114111?n+=e(i.OUT_OF_RANGE,n-1-s,t,r,f):f>=55296&&f<=57343?n+=e(i.UTF16_SURROGATE,n-1-s,t,r,f):f<=u?n+=e(i.OVERLONG,n-1-s,t,r,f):r.push(f))}}else r.push(a)}return r}function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;e!=n.current&&(u.checkNormalize(),t=t.normalize(e));for(var r=[],i=0;i>6|192),r.push(63&a|128);else if(55296==(64512&a)){i++;var s=t.charCodeAt(i);if(i>=t.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var f=65536+((1023&a)<<10)+(1023&s);r.push(f>>18|240),r.push(f>>12&63|128),r.push(f>>6&63|128),r.push(63&f|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)}return(0,o.arrayify)(r)}function d(t){var e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function p(t){return t.map((function(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t)))})).join("")}e.Utf8ErrorFuncs=c},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(318),o=r(51),a=r(324);function s(t){e.decode(t)}e.names=a.names,e.codes=a.codes,e.defaultLengths=a.defaultLengths,e.toHexString=function(t){if(!n.isBuffer(t))throw new Error("must be passed a buffer");return t.toString("hex")},e.fromHexString=function(t){return n.from(t,"hex")},e.toB58String=function(t){if(!n.isBuffer(t))throw new Error("must be passed a buffer");return i.encode("base58btc",t).toString().slice(1)},e.fromB58String=function(t){var e=t;return n.isBuffer(t)&&(e=t.toString()),i.decode("z"+e)},e.decode=function(t){if(!n.isBuffer(t))throw new Error("multihash must be a Buffer");if(t.length<2)throw new Error("multihash too short. must be > 2 bytes.");var r=o.decode(t);if(!e.isValidCode(r))throw new Error("multihash unknown function code: 0x".concat(r.toString(16)));t=t.slice(o.decode.bytes);var i=o.decode(t);if(i<0)throw new Error("multihash invalid length: ".concat(i));if((t=t.slice(o.decode.bytes)).length!==i)throw new Error("multihash length inconsistent: 0x".concat(t.toString("hex")));return{code:r,name:a.codes[r],length:i,digest:t}},e.encode=function(t,r,i){if(!t||void 0===r)throw new Error("multihash encode requires at least two args: digest, code");var a=e.coerceCode(r);if(!n.isBuffer(t))throw new Error("digest should be a Buffer");if(null==i&&(i=t.length),i&&t.length!==i)throw new Error("digest length should be equal to specified length.");return n.concat([n.from(o.encode(a)),n.from(o.encode(i)),t])},e.coerceCode=function(t){var r=t;if("string"==typeof t){if(void 0===a.names[t])throw new Error("Unrecognized hash function named: ".concat(t));r=a.names[t]}if("number"!=typeof r)throw new Error("Hash function code should be a number. Got: ".concat(r));if(void 0===a.codes[r]&&!e.isAppCode(r))throw new Error("Unrecognized function code: ".concat(r));return r},e.isAppCode=function(t){return t>0&&t<16},e.isValidCode=function(t){return!!e.isAppCode(t)||!!a.codes[t]},e.validate=s,e.prefix=function(t){return s(t),t.slice(0,2)}},function(t,e,r){"use strict";var n=r(3),i=r(151),o=r(4).Buffer,a=new Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(t,e){return t<>>32-e}function f(t,e,r,n,i,o,a){return u(t+(e&r|~e&n)+i+o|0,a)+e|0}function c(t,e,r,n,i,o,a){return u(t+(e&n|r&~n)+i+o|0,a)+e|0}function h(t,e,r,n,i,o,a){return u(t+(e^r^n)+i+o|0,a)+e|0}function l(t,e,r,n,i,o,a){return u(t+(r^(e|~n))+i+o|0,a)+e|0}n(s,i),s.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=f(r,n,i,o,t[0],3614090360,7),o=f(o,r,n,i,t[1],3905402710,12),i=f(i,o,r,n,t[2],606105819,17),n=f(n,i,o,r,t[3],3250441966,22),r=f(r,n,i,o,t[4],4118548399,7),o=f(o,r,n,i,t[5],1200080426,12),i=f(i,o,r,n,t[6],2821735955,17),n=f(n,i,o,r,t[7],4249261313,22),r=f(r,n,i,o,t[8],1770035416,7),o=f(o,r,n,i,t[9],2336552879,12),i=f(i,o,r,n,t[10],4294925233,17),n=f(n,i,o,r,t[11],2304563134,22),r=f(r,n,i,o,t[12],1804603682,7),o=f(o,r,n,i,t[13],4254626195,12),i=f(i,o,r,n,t[14],2792965006,17),r=c(r,n=f(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=c(o,r,n,i,t[6],3225465664,9),i=c(i,o,r,n,t[11],643717713,14),n=c(n,i,o,r,t[0],3921069994,20),r=c(r,n,i,o,t[5],3593408605,5),o=c(o,r,n,i,t[10],38016083,9),i=c(i,o,r,n,t[15],3634488961,14),n=c(n,i,o,r,t[4],3889429448,20),r=c(r,n,i,o,t[9],568446438,5),o=c(o,r,n,i,t[14],3275163606,9),i=c(i,o,r,n,t[3],4107603335,14),n=c(n,i,o,r,t[8],1163531501,20),r=c(r,n,i,o,t[13],2850285829,5),o=c(o,r,n,i,t[2],4243563512,9),i=c(i,o,r,n,t[7],1735328473,14),r=h(r,n=c(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=h(o,r,n,i,t[8],2272392833,11),i=h(i,o,r,n,t[11],1839030562,16),n=h(n,i,o,r,t[14],4259657740,23),r=h(r,n,i,o,t[1],2763975236,4),o=h(o,r,n,i,t[4],1272893353,11),i=h(i,o,r,n,t[7],4139469664,16),n=h(n,i,o,r,t[10],3200236656,23),r=h(r,n,i,o,t[13],681279174,4),o=h(o,r,n,i,t[0],3936430074,11),i=h(i,o,r,n,t[3],3572445317,16),n=h(n,i,o,r,t[6],76029189,23),r=h(r,n,i,o,t[9],3654602809,4),o=h(o,r,n,i,t[12],3873151461,11),i=h(i,o,r,n,t[15],530742520,16),r=l(r,n=h(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=l(o,r,n,i,t[7],1126891415,10),i=l(i,o,r,n,t[14],2878612391,15),n=l(n,i,o,r,t[5],4237533241,21),r=l(r,n,i,o,t[12],1700485571,6),o=l(o,r,n,i,t[3],2399980690,10),i=l(i,o,r,n,t[10],4293915773,15),n=l(n,i,o,r,t[1],2240044497,21),r=l(r,n,i,o,t[8],1873313359,6),o=l(o,r,n,i,t[15],4264355552,10),i=l(i,o,r,n,t[6],2734768916,15),n=l(n,i,o,r,t[13],1309151649,21),r=l(r,n,i,o,t[4],4149444226,6),o=l(o,r,n,i,t[11],3174756917,10),i=l(i,o,r,n,t[2],718787259,15),n=l(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=s},function(t,e,r){"use strict";var n=r(37).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,o){if("function"==typeof r)return t(e,null,r);r||(r={}),o=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i>>32-e}function m(t,e,r,n,i,o,a,s){return p(t+(e^r^n)+o+a|0,s)+i|0}function b(t,e,r,n,i,o,a,s){return p(t+(e&r|~e&n)+o+a|0,s)+i|0}function v(t,e,r,n,i,o,a,s){return p(t+((e|~r)^n)+o+a|0,s)+i|0}function y(t,e,r,n,i,o,a,s){return p(t+(e&n|r&~n)+o+a|0,s)+i|0}function g(t,e,r,n,i,o,a,s){return p(t+(e^(r|~n))+o+a|0,s)+i|0}i(d,o),d.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,d=0|this._e,w=0|this._a,_=0|this._b,k=0|this._c,M=0|this._d,S=0|this._e,A=0;A<80;A+=1){var x,E;A<16?(x=m(r,n,i,o,d,t[s[A]],h[0],f[A]),E=g(w,_,k,M,S,t[u[A]],l[0],c[A])):A<32?(x=b(r,n,i,o,d,t[s[A]],h[1],f[A]),E=y(w,_,k,M,S,t[u[A]],l[1],c[A])):A<48?(x=v(r,n,i,o,d,t[s[A]],h[2],f[A]),E=v(w,_,k,M,S,t[u[A]],l[2],c[A])):A<64?(x=y(r,n,i,o,d,t[s[A]],h[3],f[A]),E=b(w,_,k,M,S,t[u[A]],l[3],c[A])):(x=g(r,n,i,o,d,t[s[A]],h[4],f[A]),E=m(w,_,k,M,S,t[u[A]],l[4],c[A])),r=d,d=o,o=p(i,10),i=n,n=x,w=S,S=M,M=p(k,10),k=_,_=E}var O=this._b+i+M|0;this._b=this._c+o+S|0,this._c=this._d+d+w|0,this._d=this._e+r+_|0,this._e=this._a+n+k|0,this._a=O},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=d},function(t,e,r){"use strict";var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=r(357),n.sha1=r(358),n.sha224=r(359),n.sha256=r(158),n.sha384=r(360),n.sha512=r(159)},function(t,e,r){"use strict";t.exports=i;var n=r(23).EventEmitter;function i(){n.call(this)}r(3)(i,n),i.Readable=r(46),i.Writable=r(361),i.Duplex=r(362),i.Transform=r(363),i.PassThrough=r(364),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",u));var a=!1;function s(){a||(a=!0,t.end())}function u(){a||(a=!0,"function"==typeof t.destroy&&t.destroy())}function f(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",u),r.removeListener("error",f),t.removeListener("error",f),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",f),t.on("error",f),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},function(t,e,r){"use strict";var n=r(18);function i(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}t.exports=i,i.prototype._init=function(){},i.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},i.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),n=0;n0;n--)e+=this._buffer(t,e),r+=this._flushBuffer(i,r);return e+=this._buffer(t,e),i},i.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},i.prototype._pad=function(t,e){if(0===e)return!1;for(;e */var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";var n=r(40).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,o){if("function"==typeof r)return t(e,null,r);r||(r={}),o=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,r){var i=function(t){var e=o(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(r),a=r.modulus.byteLength(),s=new n(t).mul(i.blinder).umod(r.modulus),u=s.toRed(n.mont(r.prime1)),f=s.toRed(n.mont(r.prime2)),c=r.coefficient,h=r.prime1,l=r.prime2,d=u.redPow(r.exponent1).fromRed(),p=f.redPow(r.exponent2).fromRed(),m=d.isub(p).imul(c).umod(h).imul(l);return p.iadd(m).imul(i.unblinder).umod(r.modulus).toArrayLike(e,"be",a)}a.getr=o,t.exports=a}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n,i=e,o=r(60),a=r(184),s=r(19).assert;function u(t){"short"===t.type?this.curve=new a.short(t):"edwards"===t.type?this.curve=new a.edwards(t):this.curve=new a.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function f(t,e){Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:function(){var r=new u(e);return Object.defineProperty(i,t,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,f("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),f("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),f("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),f("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),f("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),f("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),f("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=r(403)}catch(t){n=void 0}f("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},function(t,e,r){"use strict";(function(e){var n,i=r(0)(r(2)),o=r(1),a=o.Buffer,s={};for(n in o)o.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(s[n]=o[n]);var u=s.Buffer={};for(n in a)a.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(u[n]=a[n]);if(s.Buffer.prototype=a.prototype,u.from&&u.from!==Uint8Array.from||(u.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+(0,i.default)(t));if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+(0,i.default)(t));return a(t,e,r)}),u.alloc||(u.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+(0,i.default)(t));if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=a(t);return e&&0!==e.length?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n}),!s.kStringMaxLength)try{s.kStringMaxLength=e.binding("buffer").kStringMaxLength}catch(t){}s.constants||(s.constants={MAX_LENGTH:s.kMaxLength},s.kStringMaxLength&&(s.constants.MAX_STRING_LENGTH=s.kStringMaxLength)),t.exports=s}).call(this,r(6))},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(98).Reporter,o=r(55).EncoderBuffer,a=r(55).DecoderBuffer,s=r(18),u=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],f=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(u);function c(t,e,r){var n={};this._baseState=n,n.name=r,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}t.exports=c;var h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var t=this._baseState,e={};h.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},c.prototype._wrap=function(){var t=this._baseState;f.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},c.prototype._init=function(t){var e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),s.equal(e.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(s(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(s(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!==(0,n.default)(t)||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var n=t[r];e[n]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){c.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),u.forEach((function(t){c.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===e.tag),e.tag=t,this._useArgs(r),this}})),c.prototype.use=function(t){s(t);var e=this._baseState;return s(null===e.use),e.use=t,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(t){var e=this._baseState;return s(null===e.default),e.default=t,e.optional=!0,this},c.prototype.explicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.explicit=t,this},c.prototype.implicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.implicit=t,this},c.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},c.prototype.key=function(t){var e=this._baseState;return s(null===e.key),e.key=t,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(t){var e=this._baseState;return s(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},c.prototype.contains=function(t){var e=this._baseState;return s(null===e.use),e.contains=t,this},c.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var n,i=r.default,o=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){var u=null;if(null!==r.explicit?u=r.explicit:null!==r.implicit?u=r.implicit:null!==r.tag&&(u=r.tag),null!==u||r.any){if(o=this._peekTag(t,u,r.any),t.isError(o))return o}else{var f=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(f)}}if(r.obj&&o&&(n=t.enterObject()),o){if(null!==r.explicit){var c=this._decodeTag(t,r.explicit);if(t.isError(c))return c;t=c}var h=t.offset;if(null===r.use&&null===r.choice){var l;r.any&&(l=t.save());var d=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(d))return d;r.any?i=t.raw(l):t=d}if(e&&e.track&&null!==r.tag&&e.track(t.path(),h,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var p=new a(i);i=this._getUse(r.contains,t._reporterState.obj)._decode(p,e)}}return r.obj&&o&&(i=t.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,i),i},c.prototype._decodeGeneric=function(t,e,r){var n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},c.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),s(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},c.prototype._decodeChoice=function(t,e){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var a=t.save(),s=r.choice[o];try{var u=s._decode(t,e);if(t.isError(u))return!1;n={type:o,value:u},i=!0}catch(e){return t.restore(a),!1}return!0}),this),i?n:t.error("Choice not matched")},c.prototype._createEncoderBuffer=function(t){return new o(t,this.reporter)},c.prototype._encode=function(t,e,r){var n=this._baseState;if(null===n.default||n.default!==t){var i=this._encodeValue(t,e,r);if(void 0!==i&&!this._skipDefault(i,e,r))return i}},c.prototype._encodeValue=function(t,e,r){var o=this._baseState;if(null===o.parent)return o.children[0]._encode(t,e||new i);var a=null;if(this.reporter=e,o.optional&&void 0===t){if(null===o.default)return;t=o.default}var s=null,u=!1;if(o.any)a=this._createEncoderBuffer(t);else if(o.choice)a=this._encodeChoice(t,e);else if(o.contains)s=this._getUse(o.contains,r)._encode(t,e),u=!0;else if(o.children)s=o.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var i=e.enterKey(r._baseState.key);if("object"!==(0,n.default)(t))return e.error("Child expected, but input is not object");var o=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),o}),this).filter((function(t){return t})),s=this._createEncoderBuffer(s);else if("seqof"===o.tag||"setof"===o.tag){if(!o.args||1!==o.args.length)return e.error("Too many args for : "+o.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var f=this.clone();f._baseState.implicit=null,s=this._createEncoderBuffer(t.map((function(r){var n=this._baseState;return this._getUse(n.args[0],t)._encode(r,e)}),f))}else null!==o.use?a=this._getUse(o.use,r)._encode(t,e):(s=this._encodePrimitive(o.tag,t),u=!0);if(!o.any&&null===o.choice){var c=null!==o.implicit?o.implicit:o.tag,h=null===o.implicit?"universal":"context";null===c?null===o.use&&e.error("Tag could be omitted only for .use()"):null===o.use&&(a=this._encodeComposite(c,u,h,s))}return null!==o.explicit&&(a=this._encodeComposite(o.explicit,!1,"context",a)),a},c.prototype._encodeChoice=function(t,e){var r=this._baseState,n=r.choice[t.type];return n||s(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(t.value,e)},c.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},c.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},c.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}},function(t,e,r){"use strict";var n=r(3);function i(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.Reporter=i,i.prototype.isError=function(t){return t instanceof o},i.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},i.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},i.prototype.enterKey=function(t){return this._reporterState.path.push(t)},i.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},i.prototype.leaveKey=function(t,e,r){var n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},i.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},i.prototype.error=function(t){var e,r=this._reporterState,n=t instanceof o;if(e=n?t:new o(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return n||r.errors.push(e),e},i.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},function(t,e,r){"use strict";function n(t){var e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);var n=t[r];e[n]=r})),e}e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=n(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=n(e.tag)},function(t,e,r){"use strict";(function(e){var n=r(0)(r(2)),i=r(101); /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -function o(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i=0;u--)if(c[u]!==h[u])return!1;for(u=c.length-1;u>=0;u--)if(a=c[u],!w(t[a],e[a],r,n))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function _(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function M(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function k(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&y(i,r,"Missing expected exception"+n);var o="string"==typeof n,a=!t&&i&&!r;if((!t&&s.isError(i)&&o&&M(i,r)||a)&&y(i,r,"Got unwanted exception"+n),t&&i&&r&&!M(i,r)||!t&&i)throw i}l.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return b(v(t.actual),128)+" "+t.operator+" "+b(v(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=m(e),o=n.indexOf("\n"+i);if(o>=0){var a=n.indexOf("\n",o+1);n=n.substring(a+1)}this.stack=n}}},s.inherits(l.AssertionError,Error),l.fail=y,l.ok=g,l.equal=function(t,e,r){t!=e&&y(t,e,r,"==",l.equal)},l.notEqual=function(t,e,r){t==e&&y(t,e,r,"!=",l.notEqual)},l.deepEqual=function(t,e,r){w(t,e,!1)||y(t,e,r,"deepEqual",l.deepEqual)},l.deepStrictEqual=function(t,e,r){w(t,e,!0)||y(t,e,r,"deepStrictEqual",l.deepStrictEqual)},l.notDeepEqual=function(t,e,r){w(t,e,!1)&&y(t,e,r,"notDeepEqual",l.notDeepEqual)},l.notDeepStrictEqual=function t(e,r,n){w(e,r,!0)&&y(e,r,n,"notDeepStrictEqual",t)},l.strictEqual=function(t,e,r){t!==e&&y(t,e,r,"===",l.strictEqual)},l.notStrictEqual=function(t,e,r){t===e&&y(t,e,r,"!==",l.notStrictEqual)},l.throws=function(t,e,r){k(!0,t,e,r)},l.doesNotThrow=function(t,e,r){k(!1,t,e,r)},l.ifError=function(t){if(t)throw t},l.strict=i((function t(e,r){e||y(e,!0,r,"==",t)}),l,{equal:l.strictEqual,deepEqual:l.deepStrictEqual,notEqual:l.notStrictEqual,notDeepEqual:l.notDeepStrictEqual}),l.strict.strict=l.strict;var S=Object.keys||function(t){var e=[];for(var r in t)u.call(t,r)&&e.push(r);return e}}).call(this,r(6))},function(t,e,r){"use strict";(function(e){var n=r(0)(r(2)),i=r(157),o=r(328);function a(t){var e=t;if("string"!=typeof e)throw new Error("[ethjs-util] while padding to even, value must be string, is currently "+(0,n.default)(e)+", while padToEven.");return e.length%2&&(e="0"+e),e}function s(t){return"0x"+t.toString(16)}t.exports={arrayContainsArray:function(t,e,r){if(!0!==Array.isArray(t))throw new Error("[ethjs-util] method arrayContainsArray requires input 'superset' to be an array got type '"+(0,n.default)(t)+"'");if(!0!==Array.isArray(e))throw new Error("[ethjs-util] method arrayContainsArray requires input 'subset' to be an array got type '"+(0,n.default)(e)+"'");return e[Boolean(r)?"some":"every"]((function(e){return t.indexOf(e)>=0}))},intToBuffer:function(t){var r=s(t);return new e(a(r.slice(2)),"hex")},getBinarySize:function(t){if("string"!=typeof t)throw new Error("[ethjs-util] while getting binary size, method getBinarySize requires input 'str' to be type String, got '"+(0,n.default)(t)+"'.");return e.byteLength(t,"utf8")},isHexPrefixed:i,stripHexPrefix:o,padToEven:a,intToHex:s,fromAscii:function(t){for(var e="",r=0;r2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,u;if("string"==typeof e&&(o="not ",e.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var f=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(f," ").concat(i," ").concat(a(e,"type"))}return u+=". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},function(t,e,r){"use strict";(function(e){var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var i=r(161),o=r(165);r(10)(f,i);for(var a=n(o.prototype),s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},function(t,e,r){"use strict";var n=r(3),i=r(107),o=r(109),a=r(110),s=r(31);function u(t){s.call(this,"digest"),this._hash=t}n(u,s),u.prototype._update=function(t){this._hash.update(t)},u.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new i:"rmd160"===t||"ripemd160"===t?new o:new u(a(t))}},function(t,e,r){"use strict";var n=r(0)(r(2));var i={};function o(t,e,r){r||(r=Error);var n=function(t){var r,n;function i(r,n,i){return t.call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,n,i))||this}return n=t,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);n.prototype.name=r.name,n.prototype.code=t,i[t]=n}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,u;if("string"==typeof e&&(o="not ",e.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var f=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(f," ").concat(i," ").concat(a(e,"type"))}return u+=". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},function(t,e,r){"use strict";(function(e){var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var i=r(193),o=r(197);r(3)(f,i);for(var a=n(o.prototype),s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},function(t,e,r){"use strict";var n=r(0)(r(2));var i={};function o(t,e,r){r||(r=Error);var n=function(t){var r,n;function i(r,n,i){return t.call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,n,i))||this}return n=t,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);n.prototype.name=r.name,n.prototype.code=t,i[t]=n}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,u;if("string"==typeof e&&(o="not ",e.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var f=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(f," ").concat(i," ").concat(a(e,"type"))}return u+=". Received type ".concat((0,n.default)(r))}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},function(t,e,r){"use strict";(function(e){var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var i=r(218),o=r(222);r(3)(f,i);for(var a=n(o.prototype),s=0;s=0}))},intToBuffer:function(t){var r=s(t);return new e(a(r.slice(2)),"hex")},getBinarySize:function(t){if("string"!=typeof t)throw new Error("[ethjs-util] while getting binary size, method getBinarySize requires input 'str' to be type String, got '"+(0,n.default)(t)+"'.");return e.byteLength(t,"utf8")},isHexPrefixed:i,stripHexPrefix:o,padToEven:a,intToHex:s,fromAscii:function(t){for(var e="",r=0;r",'"',"`"," ","\r","\n","\t"]),h=["'"].concat(c),d=["%","/","?",";","#"].concat(h),l=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},v={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},g=r(268);function w(t,e,r){if(t&&o.isObject(t)&&t instanceof a)return t;var n=new a;return n.parse(t,e,r),n}a.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+(0,n.default)(t));var a=t.indexOf("?"),u=-1!==a&&a127?C+="x":C+=I[N];if(!C.match(p)){var j=R.slice(0,P),L=R.slice(P+1),D=I.match(m);D&&(j.push(D[1]),L.unshift(D[2])),L.length&&(w="/"+L.join(".")+w),this.hostname=j.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=i.toASCII(this.hostname));var F=this.port?":"+this.port:"",q=this.hostname||"";this.host=q+F,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!b[k])for(P=0,T=h.length;P0)&&r.host.split("@"))&&(r.auth=B.shift(),r.host=r.hostname=B.shift());return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!k.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var A=k.slice(-1)[0],x=(r.host||t.host||k.length>1)&&("."===A||".."===A)||""===A,E=0,P=k.length;P>=0;P--)"."===(A=k[P])?k.splice(P,1):".."===A?(k.splice(P,1),E++):E&&(k.splice(P,1),E--);if(!_&&!M)for(;E--;E)k.unshift("..");!_||""===k[0]||k[0]&&"/"===k[0].charAt(0)||k.unshift(""),x&&"/"!==k.join("/").substr(-1)&&k.push("");var B,O=""===k[0]||k[0]&&"/"===k[0].charAt(0);S&&(r.hostname=r.host=O?"":k.length?k.shift():"",(B=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=B.shift(),r.host=r.hostname=B.shift()));return(_=_||r.host&&k.length)&&!O&&k.unshift(""),k.length?r.pathname=k.join("/"):(r.pathname=null,r.path=null),o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},a.prototype.parseHost=function(){var t=this.host,e=u.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,r){"use strict";(e=t.exports=r(138)).Stream=e,e.Readable=e,e.Writable=r(93),e.Duplex=r(34),e.Transform=r(142),e.PassThrough=r(283)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2));function i(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===i(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"===(0,n.default)(t)},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===i(t)},e.isObject=function(t){return"object"===(0,n.default)(t)&&null!==t},e.isDate=function(t){return"[object Date]"===i(t)},e.isError=function(t){return"[object Error]"===i(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===(0,n.default)(t)||void 0===t},e.isBuffer=t.isBuffer}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=r(294)},function(t,e,r){"use strict";var n=r(27),i=r(38);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o1?(t[r[0]]=t[r[0]]||{},t[r[0]][r[1]]=e):t[r[0]]=e},i.prototype.buildCall=function(){var t=this;return function(){t.subscriptions[arguments[0]]||console.warn("Subscription "+JSON.stringify(arguments[0])+" doesn't exist. Subscribing anyway.");var e=new n({subscription:t.subscriptions[arguments[0]]||{},requestManager:t.requestManager,type:t.type});return e.subscribe.apply(e,arguments)}},t.exports={subscriptions:i,subscription:n}},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.getLength=e.decode=e.encode=void 0;var n=r(26);function i(t,e){if("00"===t.slice(0,2))throw new Error("invalid RLP: extra zeros");return parseInt(t,e)}function o(e,r){if(e<56)return t.from([e+r]);var n=s(e),i=s(r+55+n.length/2);return t.from(i+n,"hex")}function a(t){return"0x"===t.slice(0,2)}function s(t){if(t<0)throw new Error("Invalid integer as argument, must be unsigned!");var e=t.toString(16);return e.length%2?"0"+e:e}function u(e){if(!t.isBuffer(e)){if("string"==typeof e)return a(e)?t.from((i="string"!=typeof(o=e)?o:a(o)?o.slice(2):o).length%2?"0"+i:i,"hex"):t.from(e);if("number"==typeof e||"bigint"==typeof e)return e?(r=s(e),t.from(r,"hex")):t.from([]);if(null==e)return t.from([]);if(e instanceof Uint8Array)return t.from(e);if(n.isBN(e))return t.from(e.toArray());throw new Error("invalid type")}var r,i,o;return e}e.encode=function e(r){if(Array.isArray(r)){for(var n=[],i=0;ir.length)throw new Error("invalid rlp: total length is larger than the data");if(0===(s=r.slice(o,h)).length)throw new Error("invalid rlp, List has a invalid length");for(;s.length;)u=e(s),f.push(u.data),s=u.remainder;return{data:f,remainder:r.slice(h)}}(u(e));if(r)return n;if(0!==n.remainder.length)throw new Error("invalid remainder");return n.data},e.getLength=function(e){if(!e||0===e.length)return t.from([]);var r=u(e),n=r[0];if(n<=127)return r.length;if(n<=183)return n-127;if(n<=191)return n-182;if(n<=247)return n-191;var o=n-246;return o+i(r.slice(1,o).toString("hex"),16)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=r(26),i=r(19),o=i.getNAF,a=i.getJSF,s=i.assert;function u(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function f(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){s(t.precomputed);var r=t._getDoubles(),n=o(e,1,this._bitLength),i=(1<=a;c--)u=(u<<1)+n[c];f.push(u)}for(var h=this.jpoint(null,null,null),d=this.jpoint(null,null,null),l=i;l>0;l--){for(a=0;a=0;f--){for(var c=0;f>=0&&0===a[f];f--)c++;if(f>=0&&c++,u=u.dblp(c),f<0)break;var h=a[f];s(0!==h),u="affine"===t.type?h>0?u.mixedAdd(i[h-1>>1]):u.mixedAdd(i[-h-1>>1].neg()):h>0?u.add(i[h-1>>1]):u.add(i[-h-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,r,n,i){var s,u,f,c=this._wnafT1,h=this._wnafT2,d=this._wnafT3,l=0;for(s=0;s=1;s-=2){var m=s-1,b=s;if(1===c[m]&&1===c[b]){var v=[e[m],null,null,e[b]];0===e[m].y.cmp(e[b].y)?(v[1]=e[m].add(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg())):0===e[m].y.cmp(e[b].y.redNeg())?(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].add(e[b].neg())):(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[m],r[b]);for(l=Math.max(g[0].length,l),d[m]=new Array(l),d[b]=new Array(l),u=0;u=0;s--){for(var S=0;s>=0;){var A=!0;for(u=0;u=0&&S++,M=M.dblp(S),s<0)break;for(u=0;u0?f=h[u][x-1>>1]:x<0&&(f=h[u][-x-1>>1].neg()),M="affine"===f.type?M.mixedAdd(f):M.add(f))}}for(s=0;s=Math.ceil((t.bitLength()+1)/e.step)},f.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(15&a[s>>1])>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}for(var h={},d=0;d<10;d++)h[String(d)]=String(d);for(var l=0;l<26;l++)h[String.fromCharCode(65+l)]=String(10+l);var p,m=Math.floor((p=9007199254740991,Math.log10?Math.log10(p):Math.log(p)/Math.LN10));function b(t){for(var e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map((function(t){return h[t]})).join("");e.length>=m;){var r=e.substring(0,m);e=parseInt(r,10)%97+e.substring(r.length)}for(var n=String(98-parseInt(e,10)%97);n.length<2;)n="0"+n;return n}function v(t){var e=null;if("string"!=typeof t&&f.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=c(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&f.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==b(t)&&f.throwArgumentError("bad icap checksum","address",t),e=(0,i._base36To16)(t.substring(4));e.length<40;)e="0"+e;e=c("0x"+e)}else f.throwArgumentError("invalid address","address",t);return e}},function(t,e,r){"use strict";var n=e;n.utils=r(28),n.common=r(64),n.sha=r(409),n.ripemd=r(413),n.hmac=r(414),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},function(t,e,r){"use strict";var n=r(33),i=r(35),o=r(18),a=function(){var t=this;n.packageInit(this,arguments),[new i({name:"getId",call:"net_version",params:0,outputFormatter:parseInt}),new i({name:"isListening",call:"net_listening",params:0}),new i({name:"getPeerCount",call:"net_peerCount",params:0,outputFormatter:o.hexToNumber})].forEach((function(e){e.attachToObject(t),e.setRequestManager(t._requestManager)}))};n.addProviders(a),t.exports=a},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"formatBytes32String",{enumerable:!0,get:function(){return n.formatBytes32String}}),Object.defineProperty(e,"parseBytes32String",{enumerable:!0,get:function(){return n.parseBytes32String}}),Object.defineProperty(e,"nameprep",{enumerable:!0,get:function(){return i.nameprep}}),Object.defineProperty(e,"_toEscapedUtf8String",{enumerable:!0,get:function(){return o._toEscapedUtf8String}}),Object.defineProperty(e,"toUtf8Bytes",{enumerable:!0,get:function(){return o.toUtf8Bytes}}),Object.defineProperty(e,"toUtf8CodePoints",{enumerable:!0,get:function(){return o.toUtf8CodePoints}}),Object.defineProperty(e,"toUtf8String",{enumerable:!0,get:function(){return o.toUtf8String}}),Object.defineProperty(e,"UnicodeNormalizationForm",{enumerable:!0,get:function(){return o.UnicodeNormalizationForm}}),Object.defineProperty(e,"Utf8ErrorFuncs",{enumerable:!0,get:function(){return o.Utf8ErrorFuncs}}),Object.defineProperty(e,"Utf8ErrorReason",{enumerable:!0,get:function(){return o.Utf8ErrorReason}});var n=r(429),i=r(431),o=r(105)},function(t){t.exports=JSON.parse('{"identity":0,"ip4":4,"tcp":6,"sha1":17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,"dccp":33,"murmur3-128":34,"murmur3-32":35,"ip6":41,"ip6zone":42,"path":47,"multicodec":48,"multihash":49,"multiaddr":50,"multibase":51,"dns":53,"dns4":54,"dns6":55,"dnsaddr":56,"protobuf":80,"cbor":81,"raw":85,"dbl-sha2-256":86,"rlp":96,"bencode":99,"dag-pb":112,"dag-cbor":113,"libp2p-key":114,"git-raw":120,"torrent-info":123,"torrent-file":124,"leofcoin-block":129,"leofcoin-tx":130,"leofcoin-pr":131,"sctp":132,"eth-block":144,"eth-block-list":145,"eth-tx-trie":146,"eth-tx":147,"eth-tx-receipt-trie":148,"eth-tx-receipt":149,"eth-state-trie":150,"eth-account-snapshot":151,"eth-storage-trie":152,"bitcoin-block":176,"bitcoin-tx":177,"zcash-block":192,"zcash-tx":193,"stellar-block":208,"stellar-tx":209,"md4":212,"md5":213,"bmt":214,"decred-block":224,"decred-tx":225,"ipld-ns":226,"ipfs-ns":227,"swarm-ns":228,"ipns-ns":229,"zeronet":230,"ed25519-pub":237,"dash-block":240,"dash-tx":241,"swarm-manifest":250,"swarm-feed":251,"udp":273,"p2p-webrtc-star":275,"p2p-webrtc-direct":276,"p2p-stardust":277,"p2p-circuit":290,"dag-json":297,"udt":301,"utp":302,"unix":400,"p2p":421,"ipfs":421,"https":443,"onion":444,"onion3":445,"garlic64":446,"garlic32":447,"tls":448,"quic":460,"ws":477,"wss":478,"p2p-websocket-star":479,"http":480,"json":512,"messagepack":513,"x11":4352,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46000,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"holochain-adr-v0":8417572,"holochain-adr-v1":8483108,"holochain-key-v0":9728292,"holochain-key-v1":9793828,"holochain-sig-v0":10645796,"holochain-sig-v1":10711332}')},function(t,e,r){"use strict";e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=r(29),e.createHash=e.Hash=r(50),e.createHmac=e.Hmac=r(201);var n=r(499),i=Object.keys(n),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);e.getHashes=function(){return o};var a=r(204);e.pbkdf2=a.pbkdf2,e.pbkdf2Sync=a.pbkdf2Sync;var s=r(501);e.Cipher=s.Cipher,e.createCipher=s.createCipher,e.Cipheriv=s.Cipheriv,e.createCipheriv=s.createCipheriv,e.Decipher=s.Decipher,e.createDecipher=s.createDecipher,e.Decipheriv=s.Decipheriv,e.createDecipheriv=s.createDecipheriv,e.getCiphers=s.getCiphers,e.listCiphers=s.listCiphers;var u=r(516);e.DiffieHellmanGroup=u.DiffieHellmanGroup,e.createDiffieHellmanGroup=u.createDiffieHellmanGroup,e.getDiffieHellman=u.getDiffieHellman,e.createDiffieHellman=u.createDiffieHellman,e.DiffieHellman=u.DiffieHellman;var f=r(520);e.createSign=f.createSign,e.Sign=f.Sign,e.createVerify=f.createVerify,e.Verify=f.Verify,e.createECDH=r(555);var c=r(556);e.publicEncrypt=c.publicEncrypt,e.privateEncrypt=c.privateEncrypt,e.publicDecrypt=c.publicDecrypt,e.privateDecrypt=c.privateDecrypt;var h=r(559);e.randomFill=h.randomFill,e.randomFillSync=h.randomFillSync,e.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function(t,e,r){"use strict";var n=r(4).Buffer;function i(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i>>24]^c[p>>>16&255]^h[m>>>8&255]^d[255&b]^e[v++],a=f[p>>>24]^c[m>>>16&255]^h[b>>>8&255]^d[255&l]^e[v++],s=f[m>>>24]^c[b>>>16&255]^h[l>>>8&255]^d[255&p]^e[v++],u=f[b>>>24]^c[l>>>16&255]^h[p>>>8&255]^d[255&m]^e[v++],l=o,p=a,m=s,b=u;return o=(n[l>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&b])^e[v++],a=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[b>>>8&255]<<8|n[255&l])^e[v++],s=(n[m>>>24]<<24|n[b>>>16&255]<<16|n[l>>>8&255]<<8|n[255&p])^e[v++],u=(n[b>>>24]<<24|n[l>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[v++],[o>>>=0,a>>>=0,s>>>=0,u>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var f=s^s<<1^s<<2^s<<3^s<<4;f=f>>>8^255&f^99,r[a]=f,n[f]=a;var c=t[a],h=t[c],d=t[h],l=257*t[f]^16843008*f;i[0][a]=l<<24|l>>>8,i[1][a]=l<<16|l>>>16,i[2][a]=l<<8|l>>>24,i[3][a]=l,l=16843009*d^65537*h^257*c^16843008*a,o[0][f]=l<<24|l>>>8,o[1][f]=l<<16|l>>>16,o[2][f]=l<<8|l>>>24,o[3][f]=l,0===a?a=s=1:(a=c^t[t[t[d^c]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function f(t){this._key=i(t),this._reset()}f.blockSize=16,f.keySize=32,f.prototype.blockSize=f.blockSize,f.prototype.keySize=f.keySize,f.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=s[o/e|0]<<24):e>6&&o%e==4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),i[o]=i[o-e]^a}for(var f=[],c=0;c>>24]]^u.INV_SUB_MIX[1][u.SBOX[d>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[d>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&d]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=f},f.prototype.encryptBlockRaw=function(t){return a(t=i(t),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},f.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=n.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},f.prototype.decryptBlock=function(t){var e=(t=i(t))[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},f.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=f},function(t,e,r){"use strict";var n=r(4).Buffer,i=r(107);t.exports=function(t,e,r,o){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var a=r/8,s=n.alloc(a),u=n.alloc(o||0),f=n.alloc(0);a>0||o>0;){var c=new i;c.update(f),c.update(t),e&&c.update(e),f=c.digest();var h=0;if(a>0){var d=s.length-a;h=Math.min(a,f.length),f.copy(s,d,0,h),a-=h}if(h0){var l=u.length-o,p=Math.min(o,f.length-h);f.copy(u,l,h,h+p),o-=p}}return f.fill(0),{key:s,iv:u}}},function(t,e,r){"use strict";var n=r(9),i=r(21),o=i.getNAF,a=i.getJSF,s=i.assert;function u(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function f(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){s(t.precomputed);var r=t._getDoubles(),n=o(e,1,this._bitLength),i=(1<=a;c--)u=(u<<1)+n[c];f.push(u)}for(var h=this.jpoint(null,null,null),d=this.jpoint(null,null,null),l=i;l>0;l--){for(a=0;a=0;f--){for(var c=0;f>=0&&0===a[f];f--)c++;if(f>=0&&c++,u=u.dblp(c),f<0)break;var h=a[f];s(0!==h),u="affine"===t.type?h>0?u.mixedAdd(i[h-1>>1]):u.mixedAdd(i[-h-1>>1].neg()):h>0?u.add(i[h-1>>1]):u.add(i[-h-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,r,n,i){var s,u,f,c=this._wnafT1,h=this._wnafT2,d=this._wnafT3,l=0;for(s=0;s=1;s-=2){var m=s-1,b=s;if(1===c[m]&&1===c[b]){var v=[e[m],null,null,e[b]];0===e[m].y.cmp(e[b].y)?(v[1]=e[m].add(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg())):0===e[m].y.cmp(e[b].y.redNeg())?(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].add(e[b].neg())):(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[m],r[b]);for(l=Math.max(g[0].length,l),d[m]=new Array(l),d[b]=new Array(l),u=0;u=0;s--){for(var S=0;s>=0;){var A=!0;for(u=0;u=0&&S++,M=M.dblp(S),s<0)break;for(u=0;u0?f=h[u][x-1>>1]:x<0&&(f=h[u][-x-1>>1].neg()),M="affine"===f.type?M.mixedAdd(f):M.add(f))}}for(s=0;s=Math.ceil((t.bitLength()+1)/e.step)},f.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;ir.length)throw new Error("invalid rlp: total length is larger than the data");if(0===(s=r.slice(o,h)).length)throw new Error("invalid rlp, List has a invalid length");for(;s.length;)u=e(s),f.push(u.data),s=u.remainder;return{data:f,remainder:r.slice(h)}}(u(e));if(r)return n;if(0!==n.remainder.length)throw new Error("invalid remainder");return n.data},e.getLength=function(e){if(!e||0===e.length)return t.from([]);var r=u(e),n=r[0];if(n<=127)return r.length;if(n<=183)return n-127;if(n<=191)return n-182;if(n<=247)return n-191;var o=n-246;return o+i(r.slice(1,o).toString("hex"),16)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.assertIsString=e.assertIsArray=e.assertIsBuffer=e.assertIsHexString=void 0;var n=r(56);e.assertIsHexString=function(t){if(!n.isHexString(t))throw new Error("This method only supports 0x-prefixed hex strings but input was: "+t)},e.assertIsBuffer=function(e){if(!t.isBuffer(e))throw new Error("This method only supports Buffer but input was: "+e)},e.assertIsArray=function(t){if(!Array.isArray(t))throw new Error("This method only supports number arrays but input was: "+t)},e.assertIsString=function(t){if("string"!=typeof t)throw new Error("This method only supports strings but input was: "+t)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n="0123456789abcdef".split(""),i=[1,256,65536,16777216],o=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=function(t){var e,r,n,i,o,s,u,f,c,h,d,l,p,m,b,v,y,g,w,_,M,k,S,A,x,E,P,B,O,R,T,I,C,N,U,j,L,D,F,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],s=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],f=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],d=t[7]^t[17]^t[27]^t[37]^t[47],e=(l=t[8]^t[18]^t[28]^t[38]^t[48])^(s<<1|u>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|s>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=s^(h<<1|d>>>31),r=u^(d<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(l<<1|p>>>31),r=c^(p<<1|l>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=d^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,B=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,N=t[2]<<1|t[3]>>>31,U=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,j=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,F=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,k=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&B,t[11]=x^~P&O,t[20]=N^~j&D,t[21]=U^~L&F,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&M,t[12]=E^~B&R,t[13]=P^~O&T,t[22]=j^~D&q,t[23]=L^~F&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&k,t[5]=w^~M&S,t[14]=B^~R&I,t[15]=O^~T&C,t[24]=D^~q&z,t[25]=F^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~k&m,t[7]=M^~S&b,t[16]=R^~I&A,t[17]=T^~C&x,t[26]=q^~z&N,t[27]=H^~K&U,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=k^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&P,t[28]=z^~N&j,t[29]=K^~U&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=a[n],t[1]^=a[n+1]},u=function(t){return function(e){var r;if("0x"===e.slice(0,2)){r=[];for(var a=2,u=e.length;a>2]|=e[l]<>2]|=r<>2]|=(192|r>>6)<>2]|=(128|63&r)<=57344?(u[b>>2]|=(224|r>>12)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<=f){for(t.start=b-f,t.block=u[c],b=0;b>2]|=i[3&b],t.lastByteIndex===f)for(u[0]=u[c],b=1;b>4&15]+n[15&p]+n[p>>12&15]+n[p>>8&15]+n[p>>20&15]+n[p>>16&15]+n[p>>28&15]+n[p>>24&15];v%c==0&&(s(d),b=0)}return"0x"+m}(function(t){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(t<<1)>>5,outputBlocks:t>>5,s:(e=[0,0,0,0,0,0,0,0,0,0],[].concat(e,e,e,e,e))};var e}(t),r)}};t.exports={keccak256:u(256),keccak512:u(512),keccak256s:u(256),keccak512s:u(512)}},function(t,e){(function(e){t.exports=e}).call(this,{})},function(t,e,r){"use strict";var n=Object.prototype.hasOwnProperty,i="~";function o(){}function a(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function s(t,e,r,n,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new a(r,n||t,o),u=i?i+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function u(t,e){0==--t._eventsCount?t._events=new o:delete t._events[e]}function f(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),f.prototype.eventNames=function(){var t,e,r=[];if(0===this._eventsCount)return r;for(e in t=this._events)n.call(t,e)&&r.push(i?e.slice(1):e);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},f.prototype.listeners=function(t){var e=i?i+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,o=r.length,a=new Array(o);n-1?n:o.nextTick;y.WritableState=v;var f=Object.create(r(61));f.inherits=r(3);var c={deprecate:r(94)},h=r(139),d=r(4).Buffer,l=i.Uint8Array||function(){};var p,m=r(140);function b(){}function v(t,e){s=s||r(34),t=t||{};var n=e instanceof s;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,f=t.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(f||0===f)?f:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===t.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(o.nextTick(i,n),o.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(i(n),t._writableState.errorEmitted=!0,t.emit("error",n),S(t,e))}(t,r,n,e,i);else{var a=M(r);a||r.corked||r.bufferProcessing||!r.bufferedRequest||_(t,r),n?u(w,t,r,a,i):w(t,r,a,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function y(t){if(s=s||r(34),!(p.call(y,this)||this instanceof s))return new y(t);this._writableState=new v(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),h.call(this)}function g(t,e,r,n,i,o,a){e.writelen=n,e.writecb=a,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function w(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),S(t,e)}function _(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,u=!0;r;)i[s]=r,r.isBuf||(u=!1),r=r.next,s+=1;i.allBuffers=u,g(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new a(e),e.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,c=r.encoding,h=r.callback;if(g(t,e,!1,e.objectMode?1:f.length,f,c,h),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function M(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final((function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),S(t,e)}))}function S(t,e){var r=M(e);return r&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}f.inherits(y,h),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(t){return!!p.call(this,t)||this===y&&(t&&t._writableState instanceof v)}})):p=function(t){return t instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(t,e,r){var n,i=this._writableState,a=!1,s=!i.objectMode&&(n=t,d.isBuffer(n)||n instanceof l);return s&&!d.isBuffer(t)&&(t=function(t){return d.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof r&&(r=b),i.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),o.nextTick(e,r)}(this,r):(s||function(t,e,r,n){var i=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(t.emit("error",a),o.nextTick(n,a),i=!1),i}(this,i,t,r))&&(i.pendingcb++,a=function(t,e,r,n,i,o){if(!r){var a=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=d.from(e,r));return e}(e,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=e.objectMode?1:n.length;e.length+=s;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var n=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(t,e,r){e.ending=!0,S(t,e),r&&(e.finished?o.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,n,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,r(5),r(141).setImmediate,r(6))},function(t,e,r){"use strict";(function(e){function r(t){try{if(!e.localStorage)return!1}catch(t){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=function(t,e){if(r("noDeprecation"))return t;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(e);r("traceDeprecation")?console.trace(e):console.warn(e),n=!0}return t.apply(this,arguments)}}}).call(this,r(6))},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.listeners={}}return t.prototype.addEventListener=function(t,e){t=t.toLowerCase(),this.listeners[t]=this.listeners[t]||[],this.listeners[t].push(e.handleEvent||e)},t.prototype.removeEventListener=function(t,e){if(t=t.toLowerCase(),this.listeners[t]){var r=this.listeners[t].indexOf(e.handleEvent||e);r<0||this.listeners[t].splice(r,1)}},t.prototype.dispatchEvent=function(t){var e=t.type.toLowerCase();if(t.target=this,this.listeners[e])for(var r=0,n=this.listeners[e];r=0;u--)if(c[u]!==h[u])return!1;for(u=c.length-1;u>=0;u--)if(a=c[u],!w(t[a],e[a],r,n))return!1;return!0}(t,e,r,i))}return r?t===e:t==e}function _(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function k(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function M(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&y(i,r,"Missing expected exception"+n);var o="string"==typeof n,a=!t&&i&&!r;if((!t&&s.isError(i)&&o&&k(i,r)||a)&&y(i,r,"Got unwanted exception"+n),t&&i&&r&&!k(i,r)||!t&&i)throw i}d.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return b(v(t.actual),128)+" "+t.operator+" "+b(v(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=m(e),o=n.indexOf("\n"+i);if(o>=0){var a=n.indexOf("\n",o+1);n=n.substring(a+1)}this.stack=n}}},s.inherits(d.AssertionError,Error),d.fail=y,d.ok=g,d.equal=function(t,e,r){t!=e&&y(t,e,r,"==",d.equal)},d.notEqual=function(t,e,r){t==e&&y(t,e,r,"!=",d.notEqual)},d.deepEqual=function(t,e,r){w(t,e,!1)||y(t,e,r,"deepEqual",d.deepEqual)},d.deepStrictEqual=function(t,e,r){w(t,e,!0)||y(t,e,r,"deepStrictEqual",d.deepStrictEqual)},d.notDeepEqual=function(t,e,r){w(t,e,!1)&&y(t,e,r,"notDeepEqual",d.notDeepEqual)},d.notDeepStrictEqual=function t(e,r,n){w(e,r,!0)&&y(e,r,n,"notDeepStrictEqual",t)},d.strictEqual=function(t,e,r){t!==e&&y(t,e,r,"===",d.strictEqual)},d.notStrictEqual=function(t,e,r){t===e&&y(t,e,r,"!==",d.notStrictEqual)},d.throws=function(t,e,r){M(!0,t,e,r)},d.doesNotThrow=function(t,e,r){M(!1,t,e,r)},d.ifError=function(t){if(t)throw t},d.strict=i((function t(e,r){e||y(e,!0,r,"==",t)}),d,{equal:d.strictEqual,deepEqual:d.deepStrictEqual,notEqual:d.notStrictEqual,notDeepEqual:d.notDeepStrictEqual}),d.strict.strict=d.strict;var S=Object.keys||function(t){var e=[];for(var r in t)u.call(t,r)&&e.push(r);return e}}).call(this,r(7))},function(t,e,r){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT -*/var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,u=a(t),f=1;f=0||"tuple"===t)&&v[e])return!0;return(b[e]||"payable"===e)&&p.throwArgumentError("invalid modifier","name",e),!1}function g(t,e){for(var r in e)(0,c.defineReadOnly)(t,r,e[r])}var w=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});e.FormatTypes=w;var _=new RegExp(/^(.*)\[([0-9]*)\]$/),M=function(){function t(e,r){(0,s.default)(this,t),e!==m&&p.throwError("use fromString",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),g(this,r);var n=this.type.match(_);g(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:t.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return(0,u.default)(t,[{key:"format",value:function(t){if(t||(t=w.sighash),w[t]||p.throwArgumentError("invalid format type","format",t),t===w.json){var e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map((function(e){return JSON.parse(e.format(t))}))),JSON.stringify(e)}var r="";return"array"===this.baseType?(r+=this.arrayChildren.format(t),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==w.sighash&&(r+=this.type),r+="("+this.components.map((function(e){return e.format(t)})).join(t===w.full?", ":",")+")"):r+=this.type,t!==w.sighash&&(!0===this.indexed&&(r+=" indexed"),t===w.full&&this.name&&(r+=" "+this.name)),r}}],[{key:"from",value:function(e,r){return"string"==typeof e?t.fromString(e,r):t.fromObject(e)}},{key:"fromObject",value:function(e){return t.isParamType(e)?e:new t(m,{name:e.name||null,type:R(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(t.fromObject):null})}},{key:"fromString",value:function(e,r){return function(e){return t.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(t,e){var r=t;function n(e){p.throwArgumentError("unexpected character at position ".concat(e),"param",t)}function i(t){var r={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(r.indexed=!1),r}t=t.replace(/\s/g," ");for(var o={type:"",name:"",state:{allowType:!0}},a=o,s=0;s2&&p.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||p.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=f.BigNumber.from(r[1]),r[0]):t}function E(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach((function(t){switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}}))}function P(t){var e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&&p.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&&p.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||p.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&p.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&&p.throwArgumentError("unable to determine stateMutability","value",t),e}e.EventFragment=A;var B=function(t){(0,i.default)(r,t);var e=l(r);function r(){return(0,s.default)(this,r),e.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(t){if(t||(t=w.sighash),w[t]||p.throwArgumentError("invalid format type","format",t),t===w.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))}))});t===w.sighash&&p.throwError("cannot format a constructor for sighash",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var e="constructor("+this.inputs.map((function(e){return e.format(t)})).join(t===w.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()}}],[{key:"from",value:function(t){return"string"==typeof t?r.fromString(t):r.fromObject(t)}},{key:"fromObject",value:function(t){if(r.isConstructorFragment(t))return t;"constructor"!==t.type&&p.throwArgumentError("invalid constructor object","value",t);var e=P(t);e.constant&&p.throwArgumentError("constructor cannot be constant","value",t);var n={name:null,type:t.type,inputs:t.inputs?t.inputs.map(M.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?f.BigNumber.from(t.gas):null};return new r(m,n)}},{key:"fromString",value:function(t){var e={type:"constructor"},n=(t=x(t,e)).match(C);return n&&"constructor"===n[1].trim()||p.throwArgumentError("invalid constructor string","value",t),e.inputs=k(n[2].trim(),!1),E(n[3].trim(),e),r.fromObject(e)}},{key:"isConstructorFragment",value:function(t){return t&&t._isFragment&&"constructor"===t.type}}]),r}(S);e.ConstructorFragment=B;var O=function(t){(0,i.default)(r,t);var e=l(r);function r(){return(0,s.default)(this,r),e.apply(this,arguments)}return(0,u.default)(r,[{key:"format",value:function(t){if(t||(t=w.sighash),w[t]||p.throwArgumentError("invalid format type","format",t),t===w.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))})),ouputs:this.outputs.map((function(e){return JSON.parse(e.format(t))}))});var e="";return t!==w.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map((function(e){return e.format(t)})).join(t===w.full?", ":",")+") ",t!==w.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map((function(e){return e.format(t)})).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()}}],[{key:"from",value:function(t){return"string"==typeof t?r.fromString(t):r.fromObject(t)}},{key:"fromObject",value:function(t){if(r.isFunctionFragment(t))return t;"function"!==t.type&&p.throwArgumentError("invalid function object","value",t);var e=P(t),n={type:t.type,name:I(t.name),constant:e.constant,inputs:t.inputs?t.inputs.map(M.fromObject):[],outputs:t.outputs?t.outputs.map(M.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?f.BigNumber.from(t.gas):null};return new r(m,n)}},{key:"fromString",value:function(t){var e={type:"function"},n=(t=x(t,e)).split(" returns ");n.length>2&&p.throwArgumentError("invalid function string","value",t);var i=n[0].match(C);if(i||p.throwArgumentError("invalid function signature","value",t),e.name=i[1].trim(),e.name&&I(e.name),e.inputs=k(i[2],!1),E(i[3].trim(),e),n.length>1){var o=n[1].match(C);""==o[1].trim()&&""==o[3].trim()||p.throwArgumentError("unexpected tokens","value",t),e.outputs=k(o[2],!1)}else e.outputs=[];return r.fromObject(e)}},{key:"isFunctionFragment",value:function(t){return t&&t._isFragment&&"function"===t.type}}]),r}(B);function R(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}e.FunctionFragment=O;var T=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function I(t){return t&&t.match(T)||p.throwArgumentError('invalid identifier "'.concat(t,'"'),"value",t),t}var C=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toUtf8Bytes=d,e._toEscapedUtf8String=function(t,e){return'"'+h(t,e).map((function(t){if(t<256){switch(t){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(t>=32&&t<127)return String.fromCharCode(t)}return t<=65535?l(t):l(55296+((t-=65536)>>10&1023))+l(56320+(1023&t))})).join("")+'"'},e._toUtf8String=p,e.toUtf8String=function(t,e){return p(h(t,e))},e.toUtf8CodePoints=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;return h(d(t,e))},e.Utf8ErrorFuncs=e.Utf8ErrorReason=e.UnicodeNormalizationForm=void 0;var n,i,o=r(13),a=r(17),s=r(430),u=new a.Logger(s.version);function f(t,e,r,n,o){if(t===i.BAD_PREFIX||t===i.UNEXPECTED_CONTINUE){for(var a=0,s=e+1;s>6==2;s++)a++;return a}return t===i.OVERRUN?r.length-e-1:0}e.UnicodeNormalizationForm=n,function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(n||(e.UnicodeNormalizationForm=n={})),e.Utf8ErrorReason=i,function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(i||(e.Utf8ErrorReason=i={}));var c=Object.freeze({error:function(t,e,r,n,i){return u.throwArgumentError("invalid codepoint at offset ".concat(e,"; ").concat(t),"bytes",r)},ignore:f,replace:function(t,e,r,n,o){return t===i.OVERLONG?(n.push(o),0):(n.push(65533),f(t,e,r))}});function h(t,e){null==e&&(e=c.error),t=(0,o.arrayify)(t);for(var r=[],n=0;n>7!=0){var s=null,u=null;if(192==(224&a))s=1,u=127;else if(224==(240&a))s=2,u=2047;else{if(240!=(248&a)){n+=e(128==(192&a)?i.UNEXPECTED_CONTINUE:i.BAD_PREFIX,n-1,t,r);continue}s=3,u=65535}if(n-1+s>=t.length)n+=e(i.OVERRUN,n-1,t,r);else{for(var f=a&(1<<8-s-1)-1,h=0;h1114111?n+=e(i.OUT_OF_RANGE,n-1-s,t,r,f):f>=55296&&f<=57343?n+=e(i.UTF16_SURROGATE,n-1-s,t,r,f):f<=u?n+=e(i.OVERLONG,n-1-s,t,r,f):r.push(f))}}else r.push(a)}return r}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.current;e!=n.current&&(u.checkNormalize(),t=t.normalize(e));for(var r=[],i=0;i>6|192),r.push(63&a|128);else if(55296==(64512&a)){i++;var s=t.charCodeAt(i);if(i>=t.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var f=65536+((1023&a)<<10)+(1023&s);r.push(f>>18|240),r.push(f>>12&63|128),r.push(f>>6&63|128),r.push(63&f|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)}return(0,o.arrayify)(r)}function l(t){var e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function p(t){return t.map((function(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t)))})).join("")}e.Utf8ErrorFuncs=c},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(455),o=r(66),a=r(461);function s(t){e.decode(t)}e.names=a.names,e.codes=a.codes,e.defaultLengths=a.defaultLengths,e.toHexString=function(t){if(!n.isBuffer(t))throw new Error("must be passed a buffer");return t.toString("hex")},e.fromHexString=function(t){return n.from(t,"hex")},e.toB58String=function(t){if(!n.isBuffer(t))throw new Error("must be passed a buffer");return i.encode("base58btc",t).toString().slice(1)},e.fromB58String=function(t){var e=t;return n.isBuffer(t)&&(e=t.toString()),i.decode("z"+e)},e.decode=function(t){if(!n.isBuffer(t))throw new Error("multihash must be a Buffer");if(t.length<2)throw new Error("multihash too short. must be > 2 bytes.");var r=o.decode(t);if(!e.isValidCode(r))throw new Error("multihash unknown function code: 0x".concat(r.toString(16)));t=t.slice(o.decode.bytes);var i=o.decode(t);if(i<0)throw new Error("multihash invalid length: ".concat(i));if((t=t.slice(o.decode.bytes)).length!==i)throw new Error("multihash length inconsistent: 0x".concat(t.toString("hex")));return{code:r,name:a.codes[r],length:i,digest:t}},e.encode=function(t,r,i){if(!t||void 0===r)throw new Error("multihash encode requires at least two args: digest, code");var a=e.coerceCode(r);if(!n.isBuffer(t))throw new Error("digest should be a Buffer");if(null==i&&(i=t.length),i&&t.length!==i)throw new Error("digest length should be equal to specified length.");return n.concat([n.from(o.encode(a)),n.from(o.encode(i)),t])},e.coerceCode=function(t){var r=t;if("string"==typeof t){if(void 0===a.names[t])throw new Error("Unrecognized hash function named: ".concat(t));r=a.names[t]}if("number"!=typeof r)throw new Error("Hash function code should be a number. Got: ".concat(r));if(void 0===a.codes[r]&&!e.isAppCode(r))throw new Error("Unrecognized function code: ".concat(r));return r},e.isAppCode=function(t){return t>0&&t<16},e.isValidCode=function(t){return!!e.isAppCode(t)||!!a.codes[t]},e.validate=s,e.prefix=function(t){return s(t),t.slice(0,2)}},function(t,e,r){"use strict";var n=r(3),i=r(192),o=r(4).Buffer,a=new Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(t,e){return t<>>32-e}function f(t,e,r,n,i,o,a){return u(t+(e&r|~e&n)+i+o|0,a)+e|0}function c(t,e,r,n,i,o,a){return u(t+(e&n|r&~n)+i+o|0,a)+e|0}function h(t,e,r,n,i,o,a){return u(t+(e^r^n)+i+o|0,a)+e|0}function d(t,e,r,n,i,o,a){return u(t+(r^(e|~n))+i+o|0,a)+e|0}n(s,i),s.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=f(r,n,i,o,t[0],3614090360,7),o=f(o,r,n,i,t[1],3905402710,12),i=f(i,o,r,n,t[2],606105819,17),n=f(n,i,o,r,t[3],3250441966,22),r=f(r,n,i,o,t[4],4118548399,7),o=f(o,r,n,i,t[5],1200080426,12),i=f(i,o,r,n,t[6],2821735955,17),n=f(n,i,o,r,t[7],4249261313,22),r=f(r,n,i,o,t[8],1770035416,7),o=f(o,r,n,i,t[9],2336552879,12),i=f(i,o,r,n,t[10],4294925233,17),n=f(n,i,o,r,t[11],2304563134,22),r=f(r,n,i,o,t[12],1804603682,7),o=f(o,r,n,i,t[13],4254626195,12),i=f(i,o,r,n,t[14],2792965006,17),r=c(r,n=f(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=c(o,r,n,i,t[6],3225465664,9),i=c(i,o,r,n,t[11],643717713,14),n=c(n,i,o,r,t[0],3921069994,20),r=c(r,n,i,o,t[5],3593408605,5),o=c(o,r,n,i,t[10],38016083,9),i=c(i,o,r,n,t[15],3634488961,14),n=c(n,i,o,r,t[4],3889429448,20),r=c(r,n,i,o,t[9],568446438,5),o=c(o,r,n,i,t[14],3275163606,9),i=c(i,o,r,n,t[3],4107603335,14),n=c(n,i,o,r,t[8],1163531501,20),r=c(r,n,i,o,t[13],2850285829,5),o=c(o,r,n,i,t[2],4243563512,9),i=c(i,o,r,n,t[7],1735328473,14),r=h(r,n=c(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=h(o,r,n,i,t[8],2272392833,11),i=h(i,o,r,n,t[11],1839030562,16),n=h(n,i,o,r,t[14],4259657740,23),r=h(r,n,i,o,t[1],2763975236,4),o=h(o,r,n,i,t[4],1272893353,11),i=h(i,o,r,n,t[7],4139469664,16),n=h(n,i,o,r,t[10],3200236656,23),r=h(r,n,i,o,t[13],681279174,4),o=h(o,r,n,i,t[0],3936430074,11),i=h(i,o,r,n,t[3],3572445317,16),n=h(n,i,o,r,t[6],76029189,23),r=h(r,n,i,o,t[9],3654602809,4),o=h(o,r,n,i,t[12],3873151461,11),i=h(i,o,r,n,t[15],530742520,16),r=d(r,n=h(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=d(o,r,n,i,t[7],1126891415,10),i=d(i,o,r,n,t[14],2878612391,15),n=d(n,i,o,r,t[5],4237533241,21),r=d(r,n,i,o,t[12],1700485571,6),o=d(o,r,n,i,t[3],2399980690,10),i=d(i,o,r,n,t[10],4293915773,15),n=d(n,i,o,r,t[1],2240044497,21),r=d(r,n,i,o,t[8],1873313359,6),o=d(o,r,n,i,t[15],4264355552,10),i=d(i,o,r,n,t[6],2734768916,15),n=d(n,i,o,r,t[13],1309151649,21),r=d(r,n,i,o,t[4],4149444226,6),o=d(o,r,n,i,t[11],3174756917,10),i=d(i,o,r,n,t[2],718787259,15),n=d(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=s},function(t,e,r){"use strict";var n=r(51).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,o){if("function"==typeof r)return t(e,null,r);r||(r={}),o=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i>>32-e}function m(t,e,r,n,i,o,a,s){return p(t+(e^r^n)+o+a|0,s)+i|0}function b(t,e,r,n,i,o,a,s){return p(t+(e&r|~e&n)+o+a|0,s)+i|0}function v(t,e,r,n,i,o,a,s){return p(t+((e|~r)^n)+o+a|0,s)+i|0}function y(t,e,r,n,i,o,a,s){return p(t+(e&n|r&~n)+o+a|0,s)+i|0}function g(t,e,r,n,i,o,a,s){return p(t+(e^(r|~n))+o+a|0,s)+i|0}i(l,o),l.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,l=0|this._e,w=0|this._a,_=0|this._b,M=0|this._c,k=0|this._d,S=0|this._e,A=0;A<80;A+=1){var x,E;A<16?(x=m(r,n,i,o,l,t[s[A]],h[0],f[A]),E=g(w,_,M,k,S,t[u[A]],d[0],c[A])):A<32?(x=b(r,n,i,o,l,t[s[A]],h[1],f[A]),E=y(w,_,M,k,S,t[u[A]],d[1],c[A])):A<48?(x=v(r,n,i,o,l,t[s[A]],h[2],f[A]),E=v(w,_,M,k,S,t[u[A]],d[2],c[A])):A<64?(x=y(r,n,i,o,l,t[s[A]],h[3],f[A]),E=b(w,_,M,k,S,t[u[A]],d[3],c[A])):(x=g(r,n,i,o,l,t[s[A]],h[4],f[A]),E=m(w,_,M,k,S,t[u[A]],d[4],c[A])),r=l,l=o,o=p(i,10),i=n,n=x,w=S,S=k,k=p(M,10),M=_,_=E}var P=this._b+i+k|0;this._b=this._c+o+S|0,this._c=this._d+l+w|0,this._d=this._e+r+_|0,this._e=this._a+n+M|0,this._a=P},l.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=l},function(t,e,r){"use strict";var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=r(494),n.sha1=r(495),n.sha224=r(496),n.sha256=r(199),n.sha384=r(497),n.sha512=r(200)},function(t,e,r){"use strict";var n=r(20);function i(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}t.exports=i,i.prototype._init=function(){},i.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},i.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),n=0;n0;n--)e+=this._buffer(t,e),r+=this._flushBuffer(i,r);return e+=this._buffer(t,e),i},i.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},i.prototype._pad=function(t,e){if(0===e)return!1;for(;e */var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";var n=r(54).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,o){if("function"==typeof r)return t(e,null,r);r||(r={}),o=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,r){var i=function(t){var e=o(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(r),a=r.modulus.byteLength(),s=new n(t).mul(i.blinder).umod(r.modulus),u=s.toRed(n.mont(r.prime1)),f=s.toRed(n.mont(r.prime2)),c=r.coefficient,h=r.prime1,d=r.prime2,l=u.redPow(r.exponent1).fromRed(),p=f.redPow(r.exponent2).fromRed(),m=l.isub(p).imul(c).umod(h).imul(d);return p.iadd(m).imul(i.unblinder).umod(r.modulus).toArrayLike(e,"be",a)}a.getr=o,t.exports=a}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n,i=e,o=r(78),a=r(225),s=r(21).assert;function u(t){"short"===t.type?this.curve=new a.short(t):"edwards"===t.type?this.curve=new a.edwards(t):this.curve=new a.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function f(t,e){Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:function(){var r=new u(e);return Object.defineProperty(i,t,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,f("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),f("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),f("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),f("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),f("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),f("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),f("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=r(536)}catch(t){n=void 0}f("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},function(t,e,r){"use strict";(function(e){var n,i=r(0)(r(2)),o=r(1),a=o.Buffer,s={};for(n in o)o.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(s[n]=o[n]);var u=s.Buffer={};for(n in a)a.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(u[n]=a[n]);if(s.Buffer.prototype=a.prototype,u.from&&u.from!==Uint8Array.from||(u.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+(0,i.default)(t));if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+(0,i.default)(t));return a(t,e,r)}),u.alloc||(u.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+(0,i.default)(t));if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=a(t);return e&&0!==e.length?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n}),!s.kStringMaxLength)try{s.kStringMaxLength=e.binding("buffer").kStringMaxLength}catch(t){}s.constants||(s.constants={MAX_LENGTH:s.kMaxLength},s.kStringMaxLength&&(s.constants.MAX_STRING_LENGTH=s.kStringMaxLength)),t.exports=s}).call(this,r(5))},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(121).Reporter,o=r(70).EncoderBuffer,a=r(70).DecoderBuffer,s=r(20),u=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],f=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(u);function c(t,e,r){var n={};this._baseState=n,n.name=r,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}t.exports=c;var h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var t=this._baseState,e={};h.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},c.prototype._wrap=function(){var t=this._baseState;f.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},c.prototype._init=function(t){var e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),s.equal(e.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(s(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(s(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!==(0,n.default)(t)||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var n=t[r];e[n]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){c.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),u.forEach((function(t){c.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===e.tag),e.tag=t,this._useArgs(r),this}})),c.prototype.use=function(t){s(t);var e=this._baseState;return s(null===e.use),e.use=t,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(t){var e=this._baseState;return s(null===e.default),e.default=t,e.optional=!0,this},c.prototype.explicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.explicit=t,this},c.prototype.implicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.implicit=t,this},c.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},c.prototype.key=function(t){var e=this._baseState;return s(null===e.key),e.key=t,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(t){var e=this._baseState;return s(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},c.prototype.contains=function(t){var e=this._baseState;return s(null===e.use),e.contains=t,this},c.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var n,i=r.default,o=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){var u=null;if(null!==r.explicit?u=r.explicit:null!==r.implicit?u=r.implicit:null!==r.tag&&(u=r.tag),null!==u||r.any){if(o=this._peekTag(t,u,r.any),t.isError(o))return o}else{var f=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(f)}}if(r.obj&&o&&(n=t.enterObject()),o){if(null!==r.explicit){var c=this._decodeTag(t,r.explicit);if(t.isError(c))return c;t=c}var h=t.offset;if(null===r.use&&null===r.choice){var d;r.any&&(d=t.save());var l=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(l))return l;r.any?i=t.raw(d):t=l}if(e&&e.track&&null!==r.tag&&e.track(t.path(),h,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var p=new a(i);i=this._getUse(r.contains,t._reporterState.obj)._decode(p,e)}}return r.obj&&o&&(i=t.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,i),i},c.prototype._decodeGeneric=function(t,e,r){var n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},c.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),s(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},c.prototype._decodeChoice=function(t,e){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var a=t.save(),s=r.choice[o];try{var u=s._decode(t,e);if(t.isError(u))return!1;n={type:o,value:u},i=!0}catch(e){return t.restore(a),!1}return!0}),this),i?n:t.error("Choice not matched")},c.prototype._createEncoderBuffer=function(t){return new o(t,this.reporter)},c.prototype._encode=function(t,e,r){var n=this._baseState;if(null===n.default||n.default!==t){var i=this._encodeValue(t,e,r);if(void 0!==i&&!this._skipDefault(i,e,r))return i}},c.prototype._encodeValue=function(t,e,r){var o=this._baseState;if(null===o.parent)return o.children[0]._encode(t,e||new i);var a=null;if(this.reporter=e,o.optional&&void 0===t){if(null===o.default)return;t=o.default}var s=null,u=!1;if(o.any)a=this._createEncoderBuffer(t);else if(o.choice)a=this._encodeChoice(t,e);else if(o.contains)s=this._getUse(o.contains,r)._encode(t,e),u=!0;else if(o.children)s=o.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var i=e.enterKey(r._baseState.key);if("object"!==(0,n.default)(t))return e.error("Child expected, but input is not object");var o=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),o}),this).filter((function(t){return t})),s=this._createEncoderBuffer(s);else if("seqof"===o.tag||"setof"===o.tag){if(!o.args||1!==o.args.length)return e.error("Too many args for : "+o.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var f=this.clone();f._baseState.implicit=null,s=this._createEncoderBuffer(t.map((function(r){var n=this._baseState;return this._getUse(n.args[0],t)._encode(r,e)}),f))}else null!==o.use?a=this._getUse(o.use,r)._encode(t,e):(s=this._encodePrimitive(o.tag,t),u=!0);if(!o.any&&null===o.choice){var c=null!==o.implicit?o.implicit:o.tag,h=null===o.implicit?"universal":"context";null===c?null===o.use&&e.error("Tag could be omitted only for .use()"):null===o.use&&(a=this._encodeComposite(c,u,h,s))}return null!==o.explicit&&(a=this._encodeComposite(o.explicit,!1,"context",a)),a},c.prototype._encodeChoice=function(t,e){var r=this._baseState,n=r.choice[t.type];return n||s(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(t.value,e)},c.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},c.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},c.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}},function(t,e,r){"use strict";var n=r(3);function i(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.Reporter=i,i.prototype.isError=function(t){return t instanceof o},i.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},i.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},i.prototype.enterKey=function(t){return this._reporterState.path.push(t)},i.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},i.prototype.leaveKey=function(t,e,r){var n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},i.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},i.prototype.error=function(t){var e,r=this._reporterState,n=t instanceof o;if(e=n?t:new o(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return n||r.errors.push(e),e},i.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},function(t,e,r){"use strict";function n(t){var e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);var n=t[r];e[n]=r})),e}e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=n(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=n(e.tag)},function(t,e,r){"use strict";(function(t){var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.rlphash=e.ripemd160FromArray=e.ripemd160FromString=e.ripemd160=e.sha256FromArray=e.sha256FromString=e.sha256=e.keccakFromArray=e.keccakFromHexString=e.keccakFromString=e.keccak256=e.keccak=void 0;var a=r(571),s=r(50),u=o(r(87)),f=r(43),c=r(88);e.keccak=function(t,e){switch(void 0===e&&(e=256),c.assertIsBuffer(t),e){case 224:return a.keccak224(t);case 256:return a.keccak256(t);case 384:return a.keccak384(t);case 512:return a.keccak512(t);default:throw new Error("Invald algorithm: keccak"+e)}},e.keccak256=function(t){return e.keccak(t)},e.keccakFromString=function(r,n){void 0===n&&(n=256),c.assertIsString(r);var i=t.from(r,"utf8");return e.keccak(i,n)},e.keccakFromHexString=function(t,r){return void 0===r&&(r=256),c.assertIsHexString(t),e.keccak(f.toBuffer(t),r)},e.keccakFromArray=function(t,r){return void 0===r&&(r=256),c.assertIsArray(t),e.keccak(f.toBuffer(t),r)};var h=function(t){return t=f.toBuffer(t),s("sha256").update(t).digest()};e.sha256=function(t){return c.assertIsBuffer(t),h(t)},e.sha256FromString=function(t){return c.assertIsString(t),h(t)},e.sha256FromArray=function(t){return c.assertIsArray(t),h(t)};var d=function(t,e){t=f.toBuffer(t);var r=s("rmd160").update(t).digest();return!0===e?f.setLengthLeft(r,32):r};e.ripemd160=function(t,e){return c.assertIsBuffer(t),d(t,e)},e.ripemd160FromString=function(t,e){return c.assertIsString(t),d(t,e)},e.ripemd160FromArray=function(t,e){return c.assertIsArray(t),d(t,e)},e.rlphash=function(t){return e.keccak(u.encode(t))}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.toType=e.TypeOutput=e.bnToRlp=e.bnToUnpaddedBuffer=e.bnToHex=void 0;var i,o=n(r(42)),a=r(56),s=r(43);function u(e){return s.unpadBuffer(e.toArrayLike(t))}e.bnToHex=function(t){return"0x"+t.toString(16)},e.bnToUnpaddedBuffer=u,e.bnToRlp=function(t){return u(t)},function(t){t[t.Number=0]="Number",t[t.BN=1]="BN",t[t.Buffer=2]="Buffer",t[t.PrefixedHexString=3]="PrefixedHexString"}(i=e.TypeOutput||(e.TypeOutput={})),e.toType=function(t,e){if("string"==typeof t&&!a.isHexString(t))throw new Error("A string must be provided with a 0x-prefix, given: "+t);if("number"==typeof t&&!Number.isSafeInteger(t))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");if(t=s.toBuffer(t),e===i.Buffer)return t;if(e===i.BN)return new o.default(t);if(e===i.Number){var r=new o.default(t),n=new o.default(Number.MAX_SAFE_INTEGER.toString());if(r.gt(n))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return r.toNumber()}return"0x"+t.toString("hex")}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a},o=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseTransaction=void 0;var a=o(r(126)),s=r(32),u=r(57),f=function(){function t(t){this.activeCapabilities=[],this.DEFAULT_CHAIN="mainnet",this.DEFAULT_HARDFORK="istanbul";var e=t.nonce,r=t.gasLimit,n=t.to,i=t.value,o=t.data,a=t.v,u=t.r,f=t.s,c=t.type;this._type=new s.BN(s.toBuffer(c)).toNumber();var h=s.toBuffer(""===n?"0x":n),d=s.toBuffer(""===a?"0x":a),l=s.toBuffer(""===u?"0x":u),p=s.toBuffer(""===f?"0x":f);this.nonce=new s.BN(s.toBuffer(""===e?"0x":e)),this.gasLimit=new s.BN(s.toBuffer(""===r?"0x":r)),this.to=h.length>0?new s.Address(h):void 0,this.value=new s.BN(s.toBuffer(""===i?"0x":i)),this.data=s.toBuffer(""===o?"0x":o),this.v=d.length>0?new s.BN(d):void 0,this.r=l.length>0?new s.BN(l):void 0,this.s=p.length>0?new s.BN(p):void 0,this._validateCannotExceedMaxInteger({nonce:this.nonce,gasLimit:this.gasLimit,value:this.value,r:this.r,s:this.s})}return Object.defineProperty(t.prototype,"transactionType",{get:function(){return this.type},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),t.prototype.supports=function(t){return this.activeCapabilities.includes(t)},t.prototype.validate=function(t){void 0===t&&(t=!1);var e=[];return this.getBaseFee().gt(this.gasLimit)&&e.push("gasLimit is too low. given "+this.gasLimit+", need at least "+this.getBaseFee()),this.isSigned()&&!this.verifySignature()&&e.push("Invalid Signature"),t?e:0===e.length},t.prototype.getBaseFee=function(){var t=this.getDataFee().addn(this.common.param("gasPrices","tx"));return this.common.gteHardfork("homestead")&&this.toCreationAddress()&&t.iaddn(this.common.param("gasPrices","txCreation")),t},t.prototype.getDataFee=function(){for(var t=this.common.param("gasPrices","txDataZero"),e=this.common.param("gasPrices","txDataNonZero"),r=0,n=0;n-1&&this.activeCapabilities.splice(c,1)}return f},t.prototype._getCommon=function(t,e){var r;if(e){var n=new s.BN(s.toBuffer(e));if(t){if(!t.chainIdBN().eq(n))throw new Error("The chain ID does not match the chain ID of Common");return t.copy()}return a.default.isSupportedChainId(n)?new a.default({chain:n,hardfork:this.DEFAULT_HARDFORK}):a.default.forCustomChain(this.DEFAULT_CHAIN,{name:"custom-chain",networkId:n,chainId:n},this.DEFAULT_HARDFORK)}return null!==(r=null==t?void 0:t.copy())&&void 0!==r?r:new a.default({chain:this.DEFAULT_CHAIN,hardfork:this.DEFAULT_HARDFORK})},t.prototype._validateCannotExceedMaxInteger=function(t,e){var r,o;void 0===e&&(e=53);try{for(var a=n(Object.entries(t)),u=a.next();!u.done;u=a.next()){var f=i(u.value,2),c=f[0],h=f[1];if(53===e){if(null==h?void 0:h.gt(s.MAX_INTEGER))throw new Error(c+" cannot exceed MAX_INTEGER, given "+h)}else{if(256!==e)throw new Error("unimplemented bits value");if(null==h?void 0:h.gte(s.TWO_POW256))throw new Error(c+" must be less than 2^256, given "+h)}}}catch(t){r={error:t}}finally{try{u&&!u.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}},t}();e.BaseTransaction=f},function(t,e,r){"use strict";(function(t){var n,i=r(0)(r(2)),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(){return(a=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Hardfork=e.Chain=e.CustomChain=void 0;var u,f,c=r(22),h=r(583),d=r(32),l=r(584),p=r(591),m=r(604);!function(t){t.PolygonMainnet="polygon-mainnet",t.PolygonMumbai="polygon-mumbai",t.ArbitrumRinkebyTestnet="arbitrum-rinkeby-testnet",t.xDaiChain="x-dai-chain"}(u=e.CustomChain||(e.CustomChain={})),function(t){t[t.Mainnet=1]="Mainnet",t[t.Ropsten=3]="Ropsten",t[t.Rinkeby=4]="Rinkeby",t[t.Kovan=42]="Kovan",t[t.Goerli=5]="Goerli",t[t.Calaveras=123]="Calaveras"}(e.Chain||(e.Chain={})),function(t){t.Chainstart="chainstart",t.Homestead="homestead",t.Dao="dao",t.TangerineWhistle="tangerineWhistle",t.SpuriousDragon="spuriousDragon",t.Byzantium="byzantium",t.Constantinople="constantinople",t.Petersburg="petersburg",t.Istanbul="istanbul",t.MuirGlacier="muirGlacier",t.Berlin="berlin",t.London="london"}(f=e.Hardfork||(e.Hardfork={}));var b=function(e){function r(t){var r,n,i=e.call(this)||this;return i._supportedHardforks=[],i._eips=[],i._customChains=null!==(r=t.customChains)&&void 0!==r?r:[],i._chainParams=i.setChain(t.chain),i.DEFAULT_HARDFORK=null!==(n=i._chainParams.defaultHardfork)&&void 0!==n?n:f.Istanbul,i._hardfork=i.DEFAULT_HARDFORK,t.supportedHardforks&&(i._supportedHardforks=t.supportedHardforks),t.hardfork&&i.setHardfork(t.hardfork),t.eips&&i.setEIPs(t.eips),i}return o(r,e),r.custom=function(t,e){var n;void 0===e&&(e={});var i=null!==(n=e.baseChain)&&void 0!==n?n:"mainnet",o=a({},r._getChainParams(i));if(o.name="custom-chain","string"!=typeof t)return new r(a({chain:a(a({},o),t)},e));if(t===u.PolygonMainnet)return r.custom({name:u.PolygonMainnet,chainId:137,networkId:137});if(t===u.PolygonMumbai)return r.custom({name:u.PolygonMumbai,chainId:80001,networkId:80001});if(t===u.ArbitrumRinkebyTestnet)return r.custom({name:u.ArbitrumRinkebyTestnet,chainId:421611,networkId:421611});if(t===u.xDaiChain)return r.custom({name:u.xDaiChain,chainId:100,networkId:100});throw new Error("Custom chain "+t+" not supported")},r.forCustomChain=function(t,e,n,i){var o=r._getChainParams(t);return new r({chain:a(a({},o),e),hardfork:n,supportedHardforks:i})},r.isSupportedChainId=function(t){var e=l._getInitializedChains();return Boolean(e.names[t.toString()])},r._getChainParams=function(t,e){var r=l._getInitializedChains(e);if("number"==typeof t||d.BN.isBN(t)){if(t=t.toString(),r.names[t])return r[r.names[t]];throw new Error("Chain with ID "+t+" not supported")}if(r[t])return r[t];throw new Error("Chain with name "+t+" not supported")},r.prototype.setChain=function(t){var e,n;if("number"==typeof t||"string"==typeof t||d.BN.isBN(t))this._chainParams=r._getChainParams(t,this._customChains);else{if("object"!==(0,i.default)(t))throw new Error("Wrong input format");if(this._customChains.length>0)throw new Error("Chain must be a string, number, or BN when initialized with customChains passed in");try{for(var o=s(["networkId","genesis","hardforks","bootstrapNodes"]),a=o.next();!a.done;a=o.next()){var u=a.value;if(void 0===t[u])throw new Error("Missing required chain parameter: "+u)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}this._chainParams=t}return this._chainParams},r.prototype.setHardfork=function(t){var e,r;if(!this._isSupportedHardfork(t))throw new Error("Hardfork "+t+" not set as supported in supportedHardforks");var n=!1;try{for(var i=s(p.hardforks),o=i.next();!o.done;o=i.next()){o.value[0]===t&&(this._hardfork!==t&&(this._hardfork=t,this.emit("hardforkChanged",t)),n=!0)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}if(!n)throw new Error("Hardfork with name "+t+" not supported")},r.prototype.getHardforkByBlockNumber=function(t){var e,r;t=d.toType(t,d.TypeOutput.BN);var n=f.Chainstart;try{for(var i=s(this.hardforks()),o=i.next();!o.done;o=i.next()){var a=o.value;null!==a.block&&(t.gte(new d.BN(a.block))&&(n=a.name))}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n},r.prototype.setHardforkByBlockNumber=function(t){t=d.toType(t,d.TypeOutput.BN);var e=this.getHardforkByBlockNumber(t);return this.setHardfork(e),e},r.prototype._chooseHardfork=function(t,e){if(void 0===e&&(e=!0),t){if(e&&!this._isSupportedHardfork(t))throw new Error("Hardfork "+t+" not set as supported in supportedHardforks")}else t=this._hardfork;return t},r.prototype._getHardfork=function(t){var e,r,n=this.hardforks();try{for(var i=s(n),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.name===t)return a}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}throw new Error("Hardfork "+t+" not defined for chain "+this.chainName())},r.prototype._isSupportedHardfork=function(t){var e,r;if(!(this._supportedHardforks.length>0))return!0;try{for(var n=s(this._supportedHardforks),i=n.next();!i.done;i=n.next()){if(t===i.value)return!0}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return!1},r.prototype.setEIPs=function(t){var e,r,n=this;void 0===t&&(t=[]);var i=function(e){if(!(e in m.EIPs))throw new Error(e+" not supported");var r=o.gteHardfork(m.EIPs[e].minimumHardfork);if(!r)throw new Error(e+" cannot be activated on hardfork "+o.hardfork()+", minimumHardfork: "+r);m.EIPs[e].requiredEIPs&&m.EIPs[e].requiredEIPs.forEach((function(r){if(!t.includes(r)&&!n.isActivatedEIP(r))throw new Error(e+" requires EIP "+r+", but is not included in the EIP list")}))},o=this;try{for(var a=s(t),u=a.next();!u.done;u=a.next()){i(u.value)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}this._eips=t},r.prototype.param=function(t,e){var r,n,i=null;try{for(var o=s(this._eips),a=o.next();!a.done;a=o.next()){var u=a.value;if(null!==(i=this.paramByEIP(t,e,u)))return i}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return this.paramByHardfork(t,e,this._hardfork)},r.prototype.paramByHardfork=function(t,e,r){var n,i,o,a;r=this._chooseHardfork(r);var u=null;try{for(var f=s(p.hardforks),c=f.next();!c.done;c=f.next()){var h=c.value;if(h[1].hasOwnProperty("eips")){var d=h[1].eips;try{for(var l=(o=void 0,s(d)),m=l.next();!m.done;m=l.next()){var b=m.value,v=this.paramByEIP(t,e,b);u=null!==v?v:u}}catch(t){o={error:t}}finally{try{m&&!m.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}}else{if(!h[1][t])throw new Error("Topic "+t+" not defined");void 0!==h[1][t][e]&&(u=h[1][t][e].v)}if(h[0]===r)break}}catch(t){n={error:t}}finally{try{c&&!c.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}return u},r.prototype.paramByEIP=function(t,e,r){if(!(r in m.EIPs))throw new Error(r+" not supported");var n=m.EIPs[r];if(!(t in n))throw new Error("Topic "+t+" not defined");return void 0===n[t][e]?null:n[t][e].v},r.prototype.paramByBlock=function(t,e,r){var n=this.activeHardforks(r),i=n[n.length-1].name;return this.paramByHardfork(t,e,i)},r.prototype.isActivatedEIP=function(t){var e,r;if(this.eips().includes(t))return!0;try{for(var n=s(p.hardforks),i=n.next();!i.done;i=n.next()){var o=i.value[1];if(this.gteHardfork(o.name)&&"eips"in o&&o.eips.includes(t))return!0}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return!1},r.prototype.hardforkIsActiveOnBlock=function(t,e,r){var n;void 0===r&&(r={}),e=d.toType(e,d.TypeOutput.BN);var i=null!==(n=r.onlySupported)&&void 0!==n&&n;t=this._chooseHardfork(t,i);var o=this.hardforkBlockBN(t);return!(!o||!e.gte(o))},r.prototype.activeOnBlock=function(t,e){return this.hardforkIsActiveOnBlock(null,t,e)},r.prototype.hardforkGteHardfork=function(t,e,r){var n,i;void 0===r&&(r={});var o,a=void 0!==r.onlyActive&&r.onlyActive;t=this._chooseHardfork(t,r.onlySupported),o=a?this.activeHardforks(null,r):this.hardforks();var u=-1,f=-1,c=0;try{for(var h=s(o),d=h.next();!d.done;d=h.next()){var l=d.value;l.name===t&&(u=c),l.name===e&&(f=c),c+=1}}catch(t){n={error:t}}finally{try{d&&!d.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}return u>=f&&-1!==f},r.prototype.gteHardfork=function(t,e){return this.hardforkGteHardfork(null,t,e)},r.prototype.hardforkIsActiveOnChain=function(t,e){var r,n,i;void 0===e&&(e={});var o=null!==(i=e.onlySupported)&&void 0!==i&&i;t=this._chooseHardfork(t,o);try{for(var a=s(this.hardforks()),u=a.next();!u.done;u=a.next()){var f=u.value;if(f.name===t&&null!==f.block)return!0}}catch(t){r={error:t}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return!1},r.prototype.activeHardforks=function(t,e){var r,n;void 0===e&&(e={});var i=[],o=this.hardforks();try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var f=u.value;if(null!==f.block){if(null!=t&&t0)return r[r.length-1].name;throw new Error("No (supported) active hardfork found")},r.prototype.hardforkBlock=function(t){return d.toType(this.hardforkBlockBN(t),d.TypeOutput.Number)},r.prototype.hardforkBlockBN=function(t){return t=this._chooseHardfork(t,!1),new d.BN(this._getHardfork(t).block)},r.prototype.isHardforkBlock=function(t,e){return t=d.toType(t,d.TypeOutput.BN),e=this._chooseHardfork(e,!1),this.hardforkBlockBN(e).eq(t)},r.prototype.nextHardforkBlock=function(t){var e=this.nextHardforkBlockBN(t);return null===e?null:d.toType(e,d.TypeOutput.Number)},r.prototype.nextHardforkBlockBN=function(t){t=this._chooseHardfork(t,!1);var e=this.hardforkBlockBN(t);return this.hardforks().reduce((function(t,r){var n=new d.BN(r.block);return n.gt(e)&&null===t?n:t}),null)},r.prototype.isNextHardforkBlock=function(t,e){t=d.toType(t,d.TypeOutput.BN),e=this._chooseHardfork(e,!1);var r=this.nextHardforkBlockBN(e);return null!==r&&r.eq(t)},r.prototype._calcForkHash=function(e){var r,n,i=t.from(this.genesis().hash.substr(2),"hex"),o=t.alloc(0),a=0;try{for(var u=s(this.hardforks()),f=u.next();!f.done;f=u.next()){var c=f.value,l=c.block;if(0!==l&&null!==l&&l!==a){var p=t.from(l.toString(16).padStart(16,"0"),"hex");o=t.concat([o,p])}if(c.name===e)break;a=l}}catch(t){r={error:t}}finally{try{f&&!f.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var m=t.concat([i,o]);return"0x"+d.intToBuffer(h.buf(m)>>>0).toString("hex")},r.prototype.forkHash=function(t){t=this._chooseHardfork(t,!1);var e=this._getHardfork(t);if(null===e.block){throw new Error("No fork hash calculation possible for non-applied or future hardfork")}return void 0!==e.forkHash?e.forkHash:this._calcForkHash(t)},r.prototype.hardforkForForkHash=function(t){var e=this.hardforks().filter((function(e){return e.forkHash===t}));return e.length>=1?e[e.length-1]:null},r.prototype.genesis=function(){return this._chainParams.genesis},r.prototype.hardforks=function(){return this._chainParams.hardforks},r.prototype.bootstrapNodes=function(){return this._chainParams.bootstrapNodes},r.prototype.dnsNetworks=function(){return this._chainParams.dnsNetworks},r.prototype.hardfork=function(){return this._hardfork},r.prototype.chainId=function(){return d.toType(this.chainIdBN(),d.TypeOutput.Number)},r.prototype.chainIdBN=function(){return new d.BN(this._chainParams.chainId)},r.prototype.chainName=function(){return this._chainParams.name},r.prototype.networkId=function(){return d.toType(this.networkIdBN(),d.TypeOutput.Number)},r.prototype.networkIdBN=function(){return new d.BN(this._chainParams.networkId)},r.prototype.eips=function(){return this._eips},r.prototype.consensusType=function(){return this._chainParams.consensus.type},r.prototype.consensusAlgorithm=function(){return this._chainParams.consensus.algorithm},r.prototype.consensusConfig=function(){return this._chainParams.consensus[this.consensusAlgorithm()]},r.prototype.copy=function(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)},r}(c.EventEmitter);e.default=b}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2)),i=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},n=0;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(r)?n.showHidden=r:r&&e._extend(n,r),g(n.showHidden)&&(n.showHidden=!1),g(n.depth)&&(n.depth=2),g(n.colors)&&(n.colors=!1),g(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),h(n,t,n.depth)}function f(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function c(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=h(t,i,n)),i}var o=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(y(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(m(e))return t.stylize(""+e,"boolean");if(b(e))return t.stylize("null","null")}(t,r);if(o)return o;var a=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(r)),k(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return d(r);if(0===a.length){if(S(r)){var u=r.name?": "+r.name:"";return t.stylize("[Function"+u+"]","special")}if(w(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(M(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return d(r)}var f,c="",_=!1,A=["{","}"];(p(r)&&(_=!0,A=["[","]"]),S(r))&&(c=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(c=" "+RegExp.prototype.toString.call(r)),M(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+d(r)),0!==a.length||_&&0!=r.length?n<0?w(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),f=_?function(t,e,r,n,i){for(var o=[],a=0,s=e.length;a=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(f,c,A)):A[0]+c+A[1]}function d(t){return"["+Error.prototype.toString.call(t)+"]"}function l(t,e,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),B(n,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=b(r)?h(t,u.value,null):h(t,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),g(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function p(t){return Array.isArray(t)}function m(t){return"boolean"==typeof t}function b(t){return null===t}function v(t){return"number"==typeof t}function y(t){return"string"==typeof t}function g(t){return void 0===t}function w(t){return _(t)&&"[object RegExp]"===A(t)}function _(t){return"object"===(0,n.default)(t)&&null!==t}function M(t){return _(t)&&"[object Date]"===A(t)}function k(t){return _(t)&&("[object Error]"===A(t)||t instanceof Error)}function S(t){return"function"==typeof t}function A(t){return Object.prototype.toString.call(t)}function x(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(a)&&(a=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!s[r])if(new RegExp("\\b"+r+"\\b","i").test(a)){var n=t.pid;s[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,n,t)}}else s[r]=function(){};return s[r]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=p,e.isBoolean=m,e.isNull=b,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=y,e.isSymbol=function(t){return"symbol"===(0,n.default)(t)},e.isUndefined=g,e.isRegExp=w,e.isObject=_,e.isDate=M,e.isError=k,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===(0,n.default)(t)||void 0===t},e.isBuffer=r(248);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function P(){var t=new Date,e=[x(t.getHours()),x(t.getMinutes()),x(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function B(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",P(),e.format.apply(e,arguments))},e.inherits=r(249),e._extend=function(t,e){if(!e||!_(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var O="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(O&&t[O]){var e;if("function"!=typeof(e=t[O]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,O,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],o=0;o7&&t[r].toUpperCase()!==t[r]||parseInt(e[r],16)<=7&&t[r].toLowerCase()!==t[r])return!1;return!0},p=function(t){var e="";t=(t=(t=(t=(t=a.encode(t)).replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var r=0;r>>4).toString(16)),e.push((15&t[r]).toString(16));return"0x"+e.join("")},isHex:w,isHexStrict:g,stripHexPrefix:function(t){return 0!==t&&w(t)?t.replace(/^(-)?0x/i,"$1"):t},leftPad:function(t,e,r){var n=/^0x/i.test(t)||"number"==typeof t,i=e-(t=t.toString(16).replace(/^0x/i,"")).length+1>=0?e-t.length+1:0;return(n?"0x":"")+new Array(i).join(r||"0")+t},rightPad:function(t,e,r){var n=/^0x/i.test(t)||"number"==typeof t,i=e-(t=t.toString(16).replace(/^0x/i,"")).length+1>=0?e-t.length+1:0;return(n?"0x":"")+t+new Array(i).join(r||"0")},toTwosComplement:function(t){return"0x"+h(t).toTwos(256).toString(16,64)},sha3:M,sha3Raw:function(t){return null===(t=M(t))?_:t},toNumber:function(t){return"number"==typeof t?t:m(y(t))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=r(0),i=n(r(7)),o=n(r(8)),a=r(18),s=r(9),u=function(t){var e="A".charCodeAt(0),r="Z".charCodeAt(0);return(t=(t=t.toUpperCase()).substr(4)+t.substr(0,4)).split("").map((function(t){var n=t.charCodeAt(0);return n>=e&&n<=r?n-e+10:t})).join("")},f=function(t){for(var e,r=t;r.length>2;)e=r.slice(0,9),r=parseInt(e,10)%97+r.slice(e.length);return parseInt(r,10)%97},c=function(){function t(e){(0,i.default)(this,t),this._iban=e}return(0,o.default)(t,[{key:"isValid",value:function(){return/^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30,31})$/.test(this._iban)&&1===f(u(this._iban))}},{key:"isDirect",value:function(){return 34===this._iban.length||35===this._iban.length}},{key:"isIndirect",value:function(){return 20===this._iban.length}},{key:"checksum",value:function(){return this._iban.substr(2,2)}},{key:"institution",value:function(){return this.isIndirect()?this._iban.substr(7,4):""}},{key:"client",value:function(){return this.isIndirect()?this._iban.substr(11):""}},{key:"toAddress",value:function(){if(this.isDirect()){var t=this._iban.substr(4),e=new s(t,36);return a.toChecksumAddress(e.toString(16,20))}return""}},{key:"toString",value:function(){return this._iban}}],[{key:"toAddress",value:function(e){if(!(e=new t(e)).isDirect())throw new Error("IBAN is indirect and can't be converted");return e.toAddress()}},{key:"toIban",value:function(e){return t.fromAddress(e).toString()}},{key:"fromAddress",value:function(e){if(!a.isAddress(e))throw new Error("Provided address is not a valid address: "+e);e=e.replace("0x","").replace("0X","");var r=function(t,e){for(var r=t;r.length<2*e;)r="0"+r;return r}(new s(e,16).toString(36),15);return t.fromBban(r.toUpperCase())}},{key:"fromBban",value:function(e){return new t("XE"+("0"+(98-f(u("XE00"+e)))).slice(-2)+e)}},{key:"createIndirect",value:function(e){return t.fromBban("ETH"+e.institution+e.identifier)}},{key:"isValid",value:function(e){return new t(e).isValid()}}]),t}();t.exports=c},function(t,e,r){"use strict";var n={messageId:0,toPayload:function(t,e){if(!t)throw new Error('JSONRPC method should be specified for params: "'+JSON.stringify(e)+'"!');return n.messageId++,{jsonrpc:"2.0",id:n.messageId,method:t,params:e||[]}},isValidResponse:function(t){return Array.isArray(t)?t.every(e):e(t);function e(t){return!(!t||t.error||"2.0"!==t.jsonrpc||"number"!=typeof t.id&&"string"!=typeof t.id||void 0===t.result)}},toBatchPayload:function(t){return t.map((function(t){return n.toPayload(t.method,t.params)}))}};t.exports=n},function(t,e,r){"use strict";(function(t,n){var i,o=r(0)(r(2));!function(a){var s="object"==(0,o.default)(e)&&e&&!e.nodeType&&e,u="object"==(0,o.default)(t)&&t&&!t.nodeType&&t,f="object"==(void 0===n?"undefined":(0,o.default)(n))&&n;f.global!==f&&f.window!==f&&f.self!==f||(a=f);var c,h,d=2147483647,l=/^xn--/,p=/[^\x20-\x7E]/,m=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=Math.floor,y=String.fromCharCode;function g(t){throw new RangeError(b[t])}function w(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function _(t,e){var r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+w((t=t.replace(m,".")).split("."),e).join(".")}function M(t){for(var e,r,n=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=y((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=y(t)})).join("")}function S(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function A(t,e,r){var n=0;for(t=r?v(t/700):t>>1,t+=v(t/e);t>455;n+=36)t=v(t/35);return v(n+36*t/(t+38))}function x(t){var e,r,n,i,o,a,s,u,f,c,h,l=[],p=t.length,m=0,b=128,y=72;for((r=t.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&g("not-basic"),l.push(t.charCodeAt(n));for(i=r>0?r+1:0;i=p&&g("invalid-input"),((u=(h=t.charCodeAt(i++))-48<10?h-22:h-65<26?h-65:h-97<26?h-97:36)>=36||u>v((d-m)/a))&&g("overflow"),m+=u*a,!(u<(f=s<=y?1:s>=y+26?26:s-y));s+=36)a>v(d/(c=36-f))&&g("overflow"),a*=c;y=A(m-o,e=l.length+1,0==o),v(m/e)>d-b&&g("overflow"),b+=v(m/e),m%=e,l.splice(m++,0,b)}return k(l)}function E(t){var e,r,n,i,o,a,s,u,f,c,h,l,p,m,b,w=[];for(l=(t=M(t)).length,e=128,r=0,o=72,a=0;a=e&&hv((d-r)/(p=n+1))&&g("overflow"),r+=(s-e)*p,e=s,a=0;ad&&g("overflow"),h==e){for(u=r,f=36;!(u<(c=f<=o?1:f>=o+26?26:f-o));f+=36)b=u-c,m=36-c,w.push(y(S(c+b%m,0))),u=v(b/m);w.push(y(S(u,0))),o=A(r,p,n==i),r=0,++n}++r,++e}return w.join("")}if(c={version:"1.4.1",ucs2:{decode:M,encode:k},decode:x,encode:E,toASCII:function(t){return _(t,(function(t){return p.test(t)?"xn--"+E(t):t}))},toUnicode:function(t){return _(t,(function(t){return l.test(t)?x(t.slice(4).toLowerCase()):t}))}},"object"==(0,o.default)(r(90))&&r(90))void 0===(i=function(){return c}.call(e,r,e,t))||(t.exports=i);else if(s&&u)if(t.exports==s)u.exports=c;else for(h in c)c.hasOwnProperty(h)&&(s[h]=c[h]);else a.punycode=c}(void 0)}).call(this,r(16)(t),r(6))},function(t,e,r){"use strict";(function(t){e.fetch=s(t.fetch)&&s(t.ReadableStream),e.writableStream=s(t.WritableStream),e.abortController=s(t.AbortController),e.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),e.blobConstructor=!0}catch(t){}var r;function n(){if(void 0!==r)return r;if(t.XMLHttpRequest){r=new t.XMLHttpRequest;try{r.open("GET",t.XDomainRequest?"/":"https://example.com")}catch(t){r=null}}else r=null;return r}function i(t){var e=n();if(!e)return!1;try{return e.responseType=t,e.responseType===t}catch(t){}return!1}var o=void 0!==t.ArrayBuffer,a=o&&s(t.ArrayBuffer.prototype.slice);function s(t){return"function"==typeof t}e.arraybuffer=e.fetch||o&&i("arraybuffer"),e.msstream=!e.fetch&&a&&i("ms-stream"),e.mozchunkedarraybuffer=!e.fetch&&o&&i("moz-chunked-arraybuffer"),e.overrideMimeType=e.fetch||!!n()&&s(n().overrideMimeType),e.vbArray=s(t.VBArray),r=null}).call(this,r(6))},function(t,e,r){"use strict";(function(t,n,i){var o=r(136),a=r(3),s=r(60),u=e.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},f=e.IncomingMessage=function(e,r,a,u){var f=this;if(s.Readable.call(f),f._mode=a,f.headers={},f.rawHeaders=[],f.trailers={},f.rawTrailers=[],f.on("end",(function(){t.nextTick((function(){f.emit("close")}))})),"fetch"===a){if(f._fetchResponse=r,f.url=r.url,f.statusCode=r.status,f.statusMessage=r.statusText,r.headers.forEach((function(t,e){f.headers[e.toLowerCase()]=t,f.rawHeaders.push(e,t)})),o.writableStream){var c=new WritableStream({write:function(t){return new Promise((function(e,r){f._destroyed?r():f.push(new i(t))?e():f._resumeFetch=e}))},close:function(){n.clearTimeout(u),f._destroyed||f.push(null)},abort:function(t){f._destroyed||f.emit("error",t)}});try{return void r.body.pipeTo(c).catch((function(t){n.clearTimeout(u),f._destroyed||f.emit("error",t)}))}catch(t){}}var h=r.body.getReader();!function t(){h.read().then((function(e){if(!f._destroyed){if(e.done)return n.clearTimeout(u),void f.push(null);f.push(new i(e.value)),t()}})).catch((function(t){n.clearTimeout(u),f._destroyed||f.emit("error",t)}))}()}else{if(f._xhr=e,f._pos=0,f.url=e.responseURL,f.statusCode=e.status,f.statusMessage=e.statusText,e.getAllResponseHeaders().split(/\r?\n/).forEach((function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var r=e[1].toLowerCase();"set-cookie"===r?(void 0===f.headers[r]&&(f.headers[r]=[]),f.headers[r].push(e[2])):void 0!==f.headers[r]?f.headers[r]+=", "+e[2]:f.headers[r]=e[2],f.rawHeaders.push(e[1],e[2])}})),f._charset="x-user-defined",!o.overrideMimeType){var d=f.rawHeaders["mime-type"];if(d){var l=d.match(/;\s*charset=([^;])(;|$)/);l&&(f._charset=l[1].toLowerCase())}f._charset||(f._charset="utf-8")}}};a(f,s.Readable),f.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t())},f.prototype._onXHRProgress=function(){var t=this,e=t._xhr,r=null;switch(t._mode){case"text:vbarray":if(e.readyState!==u.DONE)break;try{r=new n.VBArray(e.responseBody).toArray()}catch(t){}if(null!==r){t.push(new i(r));break}case"text":try{r=e.responseText}catch(e){t._mode="text:vbarray";break}if(r.length>t._pos){var o=r.substr(t._pos);if("x-user-defined"===t._charset){for(var a=new i(o.length),s=0;st._pos&&(t.push(new i(new Uint8Array(f.result.slice(t._pos)))),t._pos=f.result.byteLength)},f.onload=function(){t.push(null)},f.readAsArrayBuffer(r)}t._xhr.readyState===u.DONE&&"ms-stream"!==t._mode&&t.push(null)}}).call(this,r(5),r(6),r(1).Buffer)},function(t,e,r){"use strict";(function(e,n){var i=r(71);t.exports=g;var o,a=r(128);g.ReadableState=y;r(22).EventEmitter;var s=function(t,e){return t.listeners(e).length},u=r(139),f=r(4).Buffer,c=e.Uint8Array||function(){};var h=Object.create(r(61));h.inherits=r(3);var d=r(279),l=void 0;l=d&&d.debuglog?d.debuglog("stream"):function(){};var p,m=r(280),b=r(140);h.inherits(g,u);var v=["error","close","destroy","pause","resume"];function y(t,e){t=t||{};var n=e instanceof(o=o||r(34));this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,a=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=r(25).StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function g(t){if(o=o||r(34),!(this instanceof g))return new g(t);this._readableState=new y(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),u.call(this)}function w(t,e,r,n,i){var o,a=t._readableState;null===e?(a.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,k(t)}(t,a)):(i||(o=function(t,e){var r;n=e,f.isBuffer(n)||n instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var n;return r}(a,e)),o?t.emit("error",o):a.objectMode||e&&e.length>0?("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===f.prototype||(e=function(t){return f.from(t)}(e)),n?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):_(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?_(t,a,e,!1):A(t,a)):_(t,a,e,!1))):n||(a.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=8388608?t=8388608:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function k(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(S,t):S(t))}function S(t){l("emit readable"),t.emit("readable"),B(t)}function A(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(x,t,e))}function x(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var n;to.length?o.length:t;if(a===o.length?i+=o:i+=o.slice(0,t),0===(t-=a)){a===o.length?(++n,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(a));break}++n}return e.length-=n,i}(t,e):function(t,e){var r=f.allocUnsafe(t),n=e.head,i=1;n.data.copy(r),t-=n.data.length;for(;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),0===(t-=a)){a===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(a));break}++i}return e.length-=i,r}(t,e);return n}(t,e.buffer,e.decoder),r);var r}function R(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(T,e,t))}function T(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function I(t,e){for(var r=0,n=t.length;r=e.highWaterMark||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?R(this):k(this),null;if(0===(t=M(t,e))&&e.ended)return 0===e.length&&R(this),null;var n,i=e.needReadable;return l("need readable",i),(0===e.length||e.length-t0?O(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&R(this)),null!==n&&this.emit("data",n),n},g.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},g.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,l("pipe count=%d opts=%j",o.pipesCount,e);var u=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:g;function f(e,n){l("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,l("cleanup"),t.removeListener("close",v),t.removeListener("finish",y),t.removeListener("drain",h),t.removeListener("error",b),t.removeListener("unpipe",f),r.removeListener("end",c),r.removeListener("end",g),r.removeListener("data",m),d=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function c(){l("onend"),t.end()}o.endEmitted?i.nextTick(u):r.once("end",u),t.on("unpipe",f);var h=function(t){return function(){var e=t._readableState;l("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,B(t))}}(r);t.on("drain",h);var d=!1;var p=!1;function m(e){l("ondata"),p=!1,!1!==t.write(e)||p||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==I(o.pipes,t))&&!d&&(l("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,p=!0),r.pause())}function b(e){l("onerror",e),g(),t.removeListener("error",b),0===s(t,"error")&&t.emit("error",e)}function v(){t.removeListener("finish",y),g()}function y(){l("onfinish"),t.removeListener("close",v),g()}function g(){l("unpipe"),r.unpipe(t)}return r.on("data",m),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?a(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",b),t.once("close",v),t.once("finish",y),t.emit("pipe",r),o.flowing||(l("pipe resume"),r.resume()),t},g.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r(282),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||void 0,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||void 0}).call(this,r(6))},function(t,e,r){"use strict";t.exports=a;var n=r(34),i=Object.create(r(61));function o(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.lengtht.length)&&(e=t.length);for(var r=0,n=new Array(e);r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a},s=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isZeroAddress=e.zeroAddress=e.importPublic=e.privateToAddress=e.privateToPublic=e.publicToAddress=e.pubToAddress=e.isValidPublic=e.isValidPrivate=e.generateAddress2=e.generateAddress=e.isValidChecksumAddress=e.toChecksumAddress=e.isValidAddress=e.Account=void 0;var u=s(r(44)),f=s(r(37)),c=o(r(74)),h=r(149),d=r(45),l=r(147),p=r(39),m=r(100),b=r(76),v=r(102),y=function(){function t(t,e,r,n){void 0===t&&(t=new f.default(0)),void 0===e&&(e=new f.default(0)),void 0===r&&(r=l.KECCAK256_RLP),void 0===n&&(n=l.KECCAK256_NULL),this.nonce=t,this.balance=e,this.stateRoot=r,this.codeHash=n,this._validate()}return t.fromAccountData=function(e){var r=e.nonce,n=e.balance,i=e.stateRoot,o=e.codeHash;return new t(r?new f.default(p.toBuffer(r)):void 0,n?new f.default(p.toBuffer(n)):void 0,i?p.toBuffer(i):void 0,o?p.toBuffer(o):void 0)},t.fromRlpSerializedAccount=function(t){var e=c.decode(t);if(!Array.isArray(e))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(e)},t.fromValuesArray=function(e){var r=a(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return new t(new f.default(n),new f.default(i),o,s)},t.prototype._validate=function(){if(this.nonce.lt(new f.default(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new f.default(0)))throw new Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw new Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw new Error("codeHash must have a length of 32")},t.prototype.raw=function(){return[v.bnToUnpaddedBuffer(this.nonce),v.bnToUnpaddedBuffer(this.balance),this.stateRoot,this.codeHash]},t.prototype.serialize=function(){return c.encode(this.raw())},t.prototype.isContract=function(){return!this.codeHash.equals(l.KECCAK256_NULL)},t.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(l.KECCAK256_NULL)},t}();e.Account=y,e.isValidAddress=function(t){try{b.assertIsString(t)}catch(t){return!1}return/^0x[0-9a-fA-F]{40}$/.test(t)},e.toChecksumAddress=function(t,e){b.assertIsHexString(t);var r=d.stripHexPrefix(t).toLowerCase(),n="";e&&(n=v.toType(e,v.TypeOutput.BN).toString()+"0x");for(var i=m.keccakFromString(n+r).toString("hex"),o="0x",a=0;a=8?o+=r[a].toUpperCase():o+=r[a];return o},e.isValidChecksumAddress=function(t,r){return e.isValidAddress(t)&&e.toChecksumAddress(t,r)===t},e.generateAddress=function(e,r){b.assertIsBuffer(e),b.assertIsBuffer(r);var n=new f.default(r);return n.isZero()?m.rlphash([e,null]).slice(-20):m.rlphash([e,t.from(n.toArray())]).slice(-20)},e.generateAddress2=function(e,r,n){return b.assertIsBuffer(e),b.assertIsBuffer(r),b.assertIsBuffer(n),u.default(20===e.length),u.default(32===r.length),m.keccak256(t.concat([t.from("ff","hex"),e,r,m.keccak256(n)])).slice(-20)},e.isValidPrivate=function(t){return h.privateKeyVerify(t)},e.isValidPublic=function(e,r){return void 0===r&&(r=!1),b.assertIsBuffer(e),64===e.length?h.publicKeyVerify(t.concat([t.from([4]),e])):!!r&&h.publicKeyVerify(e)},e.pubToAddress=function(e,r){return void 0===r&&(r=!1),b.assertIsBuffer(e),r&&64!==e.length&&(e=t.from(h.publicKeyConvert(e,!1).slice(1))),u.default(64===e.length),m.keccak(e).slice(-20)},e.publicToAddress=e.pubToAddress,e.privateToPublic=function(e){return b.assertIsBuffer(e),t.from(h.publicKeyCreate(e,!1)).slice(1)},e.privateToAddress=function(t){return e.publicToAddress(e.privateToPublic(t))},e.importPublic=function(e){return b.assertIsBuffer(e),64!==e.length&&(e=t.from(h.publicKeyConvert(e,!1).slice(1))),e},e.zeroAddress=function(){var t=p.zeros(20);return p.bufferToHex(t)},e.isZeroAddress=function(t){try{b.assertIsString(t)}catch(t){return!1}return e.zeroAddress()===t}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function a(t){try{u(n.next(t))}catch(t){o(t)}}function s(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},i=function(t,e){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(t,e){return"hex"===e?o(t):t}},function(t,e,r){"use strict";var n,i=r(0)(r(2));function o(t){this.rand=t}if(t.exports=function(t){return n||(n=new o(null)),n.generate(t)},t.exports.Rand=o,o.prototype.generate=function(t){return this._rand(t)},o.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},function(t,e,r){"use strict";var n=r(27),i=r(63),o=r(154),a=r(38),s=n.sum32,u=n.sum32_4,f=n.sum32_5,c=o.ch32,h=o.maj32,d=o.s0_256,l=o.s1_256,p=o.g0_256,m=o.g1_256,b=i.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}n.inherits(y,b),t.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n=this._blockSize;){for(var o=this._blockOffset;o0;++a)this._length[a]+=s,(s=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*s);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},function(t,e,r){"use strict";(function(e,n){var i;t.exports=A,A.ReadableState=S;r(22).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=r(162),s=r(1).Buffer,u=e.Uint8Array||function(){};var f,c=r(344);f=c&&c.debuglog?c.debuglog("stream"):function(){};var h,d,l,p=r(345),m=r(163),b=r(164).getHighWaterMark,v=r(47).codes,y=v.ERR_INVALID_ARG_TYPE,g=v.ERR_STREAM_PUSH_AFTER_EOF,w=v.ERR_METHOD_NOT_IMPLEMENTED,_=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(10)(A,a);var M=m.errorOrDestroy,k=["error","close","destroy","pause","resume"];function S(t,e,n){i=i||r(48),t=t||{},"boolean"!=typeof n&&(n=e instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b(this,t,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(h||(h=r(25).StringDecoder),this.decoder=new h(t.encoding),this.encoding=t.encoding)}function A(t){if(i=i||r(48),!(this instanceof A))return new A(t);var e=this instanceof i;this._readableState=new S(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function x(t,e,r,n,i){f("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(f("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?B(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,O(t)))}(t,a);else if(i||(o=function(t,e){var r;n=e,s.isBuffer(n)||n instanceof u||"string"==typeof e||void 0===e||t.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],e));var n;return r}(a,e)),o)M(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)a.endEmitted?M(t,new _):E(t,a,e,!0);else if(a.ended)M(t,new g);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):R(t,a)):E(t,a,e,!1)}else n||(a.reading=!1,R(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t){var e=t._readableState;f("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(O,t))}function O(t){var e=t._readableState;f("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,U(t)}function R(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(T,t,e))}function T(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function C(t){f("readable nexttick read 0"),t.read(0)}function N(t,e){f("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),U(t),e.flowing&&!e.reading&&t.read(0)}function U(t){var e=t._readableState;for(f("flow",e.flowing);e.flowing&&null!==t.read(););}function j(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function L(t){var e=t._readableState;f("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(D,e,t))}function D(t,e){if(f("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function F(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?L(this):B(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&L(this),null;var n,i=e.needReadable;return f("need readable",i),(0===e.length||e.length-t0?j(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&L(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){M(this,new w("_read()"))},A.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,e);var a=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?u:b;function s(e,n){f("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",c),t.removeListener("error",l),t.removeListener("unpipe",s),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",d),h=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}function u(){f("onend"),t.end()}i.endEmitted?n.nextTick(a):r.once("end",a),t.on("unpipe",s);var c=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,U(t))}}(r);t.on("drain",c);var h=!1;function d(e){f("ondata");var n=t.write(e);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==F(i.pipes,t))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function l(e){f("onerror",e),b(),t.removeListener("error",l),0===o(t,"error")&&M(t,e)}function p(){t.removeListener("finish",m),b()}function m(){f("onfinish"),t.removeListener("close",p),b()}function b(){f("unpipe"),r.unpipe(t)}return r.on("data",d),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",l),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?B(this):i.reading||n.nextTick(C,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(I,this),r},A.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(I,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(f("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(N,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,R(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this,r(6),r(5))},function(t,e,r){"use strict";t.exports=c;var n=r(47).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,u=r(48);function f(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function l(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,p=0|this._f,m=0|this._g,b=0|this._h,v=0;v<16;++v)r[v]=t.readInt32BE(4*v);for(;v<64;++v)r[v]=0|(((e=r[v-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[v-7]+l(r[v-15])+r[v-16];for(var y=0;y<64;++y){var g=b+d(u)+f(u,p,m)+a[y]+r[y]|0,w=h(n)+c(n,i,o)|0;b=m,m=p,p=u,u=s+g|0,s=o,o=i,i=n,n=g+w|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},function(t,e,r){"use strict";var n=r(10),i=r(49),o=r(23).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function u(){this.init(),this._w=s,i.call(this,128,112)}function f(t,e,r){return r^t&(e^r)}function c(t,e,r){return t&e|r&(t|e)}function h(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function l(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function b(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function v(t,e){return t>>>0>>0?1:0}n(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,u=0|this._fh,y=0|this._gh,g=0|this._hh,w=0|this._al,_=0|this._bl,M=0|this._cl,k=0|this._dl,S=0|this._el,A=0|this._fl,x=0|this._gl,E=0|this._hl,P=0;P<32;P+=2)e[P]=t.readInt32BE(4*P),e[P+1]=t.readInt32BE(4*P+4);for(;P<160;P+=2){var B=e[P-30],O=e[P-30+1],R=l(B,O),T=p(O,B),I=m(B=e[P-4],O=e[P-4+1]),C=b(O,B),N=e[P-14],U=e[P-14+1],j=e[P-32],L=e[P-32+1],D=T+U|0,F=R+N+v(D,T)|0;F=(F=F+I+v(D=D+C|0,C)|0)+j+v(D=D+L|0,L)|0,e[P]=F,e[P+1]=D}for(var q=0;q<160;q+=2){F=e[q],D=e[q+1];var H=c(r,n,i),z=c(w,_,M),K=h(r,w),G=h(w,r),V=d(s,S),W=d(S,s),Z=a[q],J=a[q+1],X=f(s,u,y),Y=f(S,A,x),$=E+W|0,Q=g+V+v($,E)|0;Q=(Q=(Q=Q+X+v($=$+Y|0,Y)|0)+Z+v($=$+J|0,J)|0)+F+v($=$+D|0,D)|0;var tt=G+z|0,et=K+H+v(tt,G)|0;g=y,E=x,y=u,x=A,u=s,A=S,s=o+Q+v(S=k+$|0,k)|0,o=i,k=M,i=n,M=_,n=r,_=w,r=Q+et+v(w=$+tt|0,$)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+M|0,this._dl=this._dl+k|0,this._el=this._el+S|0,this._fl=this._fl+A|0,this._gl=this._gl+x|0,this._hl=this._hl+E|0,this._ah=this._ah+r+v(this._al,w)|0,this._bh=this._bh+n+v(this._bl,_)|0,this._ch=this._ch+i+v(this._cl,M)|0,this._dh=this._dh+o+v(this._dl,k)|0,this._eh=this._eh+s+v(this._el,S)|0,this._fh=this._fh+u+v(this._fl,A)|0,this._gh=this._gh+y+v(this._gl,x)|0,this._hh=this._hh+g+v(this._hl,E)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.isBigNumberish=function(t){return null!=t&&(p.isBigNumber(t)||"number"==typeof t&&t%1==0||"string"==typeof t&&!!t.match(/^-?[0-9]+$/)||(0,s.isHexString)(t)||"bigint"==typeof t||(0,s.isBytes)(t))},e._base36To16=function(t){return new c(t,36).toString(16)},e._base16To36=function(t){return new c(t,16).toString(36)},e.BigNumber=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(9)),s=r(13),u=r(17),f=r(170),c=a.default.BN,h=new u.Logger(f.version),d={};var l=!1,p=function(){function t(e,r){(0,i.default)(this,t),h.checkNew(this instanceof t?this.constructor:void 0,t),e!==d&&h.throwError("cannot call constructor directly; use BigNumber.from",u.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}return(0,o.default)(t,[{key:"fromTwos",value:function(t){return b(v(this).fromTwos(t))}},{key:"toTwos",value:function(t){return b(v(this).toTwos(t))}},{key:"abs",value:function(){return"-"===this._hex[0]?t.from(this._hex.substring(1)):this}},{key:"add",value:function(t){return b(v(this).add(v(t)))}},{key:"sub",value:function(t){return b(v(this).sub(v(t)))}},{key:"div",value:function(e){return t.from(e).isZero()&&y("division by zero","div"),b(v(this).div(v(e)))}},{key:"mul",value:function(t){return b(v(this).mul(v(t)))}},{key:"mod",value:function(t){var e=v(t);return e.isNeg()&&y("cannot modulo negative values","mod"),b(v(this).umod(e))}},{key:"pow",value:function(t){var e=v(t);return e.isNeg()&&y("cannot raise to negative values","pow"),b(v(this).pow(e))}},{key:"and",value:function(t){var e=v(t);return(this.isNegative()||e.isNeg())&&y("cannot 'and' negative values","and"),b(v(this).and(e))}},{key:"or",value:function(t){var e=v(t);return(this.isNegative()||e.isNeg())&&y("cannot 'or' negative values","or"),b(v(this).or(e))}},{key:"xor",value:function(t){var e=v(t);return(this.isNegative()||e.isNeg())&&y("cannot 'xor' negative values","xor"),b(v(this).xor(e))}},{key:"mask",value:function(t){return(this.isNegative()||t<0)&&y("cannot mask negative values","mask"),b(v(this).maskn(t))}},{key:"shl",value:function(t){return(this.isNegative()||t<0)&&y("cannot shift negative values","shl"),b(v(this).shln(t))}},{key:"shr",value:function(t){return(this.isNegative()||t<0)&&y("cannot shift negative values","shr"),b(v(this).shrn(t))}},{key:"eq",value:function(t){return v(this).eq(v(t))}},{key:"lt",value:function(t){return v(this).lt(v(t))}},{key:"lte",value:function(t){return v(this).lte(v(t))}},{key:"gt",value:function(t){return v(this).gt(v(t))}},{key:"gte",value:function(t){return v(this).gte(v(t))}},{key:"isNegative",value:function(){return"-"===this._hex[0]}},{key:"isZero",value:function(){return v(this).isZero()}},{key:"toNumber",value:function(){try{return v(this).toNumber()}catch(t){y("overflow","toNumber",this.toString())}return null}},{key:"toBigInt",value:function(){try{return BigInt(this.toString())}catch(t){}return h.throwError("this platform does not support BigInt",u.Logger.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}},{key:"toString",value:function(){return arguments.length>0&&(10===arguments[0]?l||(l=!0,h.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?h.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",u.Logger.errors.UNEXPECTED_ARGUMENT,{}):h.throwError("BigNumber.toString does not accept parameters",u.Logger.errors.UNEXPECTED_ARGUMENT,{})),v(this).toString(10)}},{key:"toHexString",value:function(){return this._hex}},{key:"toJSON",value:function(t){return{type:"BigNumber",hex:this.toHexString()}}}],[{key:"from",value:function(e){if(e instanceof t)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new t(d,m(e)):e.match(/^-?[0-9]+$/)?new t(d,m(new c(e))):h.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&y("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&y("overflow","BigNumber.from",e),t.from(String(e));var r=e;if("bigint"==typeof r)return t.from(r.toString());if((0,s.isBytes)(r))return t.from((0,s.hexlify)(r));if(r)if(r.toHexString){var n=r.toHexString();if("string"==typeof n)return t.from(n)}else{var i=r._hex;if(null==i&&"BigNumber"===r.type&&(i=r.hex),"string"==typeof i&&((0,s.isHexString)(i)||"-"===i[0]&&(0,s.isHexString)(i.substring(1))))return t.from(i)}return h.throwArgumentError("invalid BigNumber value","value",e)}},{key:"isBigNumber",value:function(t){return!(!t||!t._isBigNumber)}}]),t}();function m(t){if("string"!=typeof t)return m(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&h.throwArgumentError("invalid hex","value",t),"0x00"===(t=m(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function b(t){return p.from(m(t))}function v(t){var e=p.from(t).toHexString();return"-"===e[0]?new c("-"+e.substring(3),16):new c(e.substring(2),16)}function y(t,e,r){var n={fault:t,operation:e};return null!=r&&(n.value=r),h.throwError(t,u.Logger.errors.NUMERIC_FAULT,n)}e.BigNumber=p},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="bignumber/5.1.1"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encode=function(t){return(0,n.hexlify)(function t(e){if(Array.isArray(e)){var r=[];if(e.forEach((function(e){r=r.concat(t(e))})),r.length<=55)return r.unshift(192+r.length),r;var i=s(r.length);return i.unshift(247+i.length),i.concat(r)}(0,n.isBytesLike)(e)||a.throwArgumentError("RLP object must be BytesLike","object",e);var o=Array.prototype.slice.call((0,n.arrayify)(e));if(1===o.length&&o[0]<=127)return o;if(o.length<=55)return o.unshift(128+o.length),o;var u=s(o.length);return u.unshift(183+u.length),u.concat(o)}(t))},e.decode=function(t){var e=(0,n.arrayify)(t),r=c(e,0);r.consumed!==e.length&&a.throwArgumentError("invalid rlp data","data",t);return r.result};var n=r(13),i=r(17),o=r(400),a=new i.Logger(o.version);function s(t){for(var e=[];t;)e.unshift(255&t),t>>=8;return e}function u(t,e,r){for(var n=0,i=0;ie+1+n&&a.throwError("child data too short",i.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:o}}function c(t,e){if(0===t.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),t[e]>=248){var r=t[e]-247;e+1+r>t.length&&a.throwError("data short segment too short",i.Logger.errors.BUFFER_OVERRUN,{});var o=u(t,e+1,r);return e+1+r+o>t.length&&a.throwError("data long segment too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(t,e,e+1+r,r+o)}if(t[e]>=192){var s=t[e]-192;return e+1+s>t.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(t,e,e+1,s)}if(t[e]>=184){var c=t[e]-183;e+1+c>t.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{});var h=u(t,e+1,c);return e+1+c+h>t.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+c+h,result:(0,n.hexlify)(t.slice(e+1+c,e+1+c+h))}}if(t[e]>=128){var d=t[e]-128;return e+1+d>t.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+d,result:(0,n.hexlify)(t.slice(e+1,e+1+d))}}return{consumed:1,result:(0,n.hexlify)(t[e])}}},function(t,e,r){"use strict";var n=r(28).rotr32;function i(t,e,r){return t&e^~t&r}function o(t,e,r){return t&e^t&r^e&r}function a(t,e,r){return t^e^r}e.ft_1=function(t,e,r,n){return 0===t?i(e,r,n):1===t||3===t?a(e,r,n):2===t?o(e,r,n):void 0},e.ch32=i,e.maj32=o,e.p32=a,e.s0_256=function(t){return n(t,2)^n(t,13)^n(t,22)},e.s1_256=function(t){return n(t,6)^n(t,11)^n(t,25)},e.g0_256=function(t){return n(t,7)^n(t,18)^t>>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},function(t,e,r){"use strict";var n=r(28),i=r(64),o=r(172),a=r(20),s=n.sum32,u=n.sum32_4,f=n.sum32_5,c=o.ch32,h=o.maj32,d=o.s0_256,l=o.s1_256,p=o.g0_256,m=o.g1_256,b=i.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}n.inherits(y,b),t.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n0&&t.topics.length!==n+1&&(e={anonymous:!0,inputs:[]})}var i=e.anonymous?t.topics:t.topics.slice(1);return r.returnValues=m.decodeLog(e.inputs,t.data,i),delete r.returnValues.__length__,r.event=e.name,r.signature=e.anonymous||!t.topics[0]?null:t.topics[0],r.raw={data:r.data,topics:r.topics},delete r.data,delete r.topics,r},b.prototype._encodeMethodABI=function(){var t=this._method.signature,e=this.arguments||[],r=!1,n=this._parent.options.jsonInterface.filter((function(e){return"constructor"===t&&e.type===t||(e.signature===t||e.signature===t.replace("0x","")||e.name===t)&&"function"===e.type})).map((function(t){var n=Array.isArray(t.inputs)?t.inputs.length:0;if(n!==e.length)throw new Error("The number of arguments is not matching the methods required number. You need to pass "+n+" arguments.");return"function"===t.type&&(r=t.signature),Array.isArray(t.inputs)?t.inputs:[]})).map((function(t){return m.encodeParameters(t,e).replace("0x","")}))[0]||"";if("constructor"===t){if(!this._deployData)throw new Error("The contract has no contract data option set. This is necessary to append the constructor parameters.");return this._deployData.startsWith("0x")||(this._deployData="0x"+this._deployData),this._deployData+n}var i=r?r+n:n;if(!i)throw new Error("Couldn't find a matching contract method named \""+this._method.name+'".');return i},b.prototype._decodeMethodReturn=function(t,e){if(!e)return null;e=e.length>=2?e.slice(2):e;var r=m.decodeParameters(t,e);return 1===r.__length__?r[0]:(delete r.__length__,r)},b.prototype.deploy=function(t,e){if((t=t||{}).arguments=t.arguments||[],!(t=this._getOrSetDefaultOptions(t)).data){if("function"==typeof e)return e(l.ContractMissingDeployDataError());throw l.ContractMissingDeployDataError()}var r=this.options.jsonInterface.find((function(t){return"constructor"===t.type}))||{};return r.signature="constructor",this._createTxObject.apply({method:r,parent:this,deployData:t.data,_ethAccounts:this.constructor._ethAccounts},t.arguments)},b.prototype._generateEventOptions=function(){var t=Array.prototype.slice.call(arguments),e=this._getCallback(t),r="object"===(!!t[t.length-1]&&(0,o.default)(t[t.length-1]))?t.pop():{},n="string"==typeof t[0]?t[0]:"allevents",i="allevents"===n.toLowerCase()?{name:"ALLEVENTS",jsonInterface:this.options.jsonInterface}:this.options.jsonInterface.find((function(t){return"event"===t.type&&(t.name===n||t.signature==="0x"+n.replace("0x",""))}));if(!i)throw l.ContractEventDoesNotExistError(n);if(!c.isAddress(this.options.address))throw l.ContractNoAddressDefinedError();return{params:this._encodeEventABI(i,r),event:i,callback:e}},b.prototype.clone=function(){return new this.constructor(this.options.jsonInterface,this.options.address,this.options)},b.prototype.once=function(t,e,r){var n=Array.prototype.slice.call(arguments);if(!(r=this._getCallback(n)))throw l.ContractOnceRequiresCallbackError();e&&delete e.fromBlock,this._on(t,e,(function(t,e,n){n.unsubscribe(),"function"==typeof r&&r(t,e,n)}))},b.prototype._on=function(){var t=this._generateEventOptions.apply(this,arguments);t.params&&t.params.toBlock&&(delete t.params.toBlock,console.warn("Invalid option: toBlock. Use getPastEvents for specific range.")),this._checkListener("newListener",t.event.name),this._checkListener("removeListener",t.event.name);var e=new h({subscription:{params:1,inputFormatter:[d.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(t.event),subscriptionHandler:function(t){t.removed?this.emit("changed",t):this.emit("data",t),"function"==typeof this.callback&&this.callback(null,t,this)}},type:"eth",requestManager:this._requestManager});return e.subscribe("logs",t.params,t.callback||function(){}),e},b.prototype.getPastEvents=function(){var t=this._generateEventOptions.apply(this,arguments),e=new f({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[d.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(t.event)});e.setRequestManager(this._requestManager);var r=e.buildCall();return e=null,r(t.params,t.callback)},b.prototype._createTxObject=function(){var t=Array.prototype.slice.call(arguments),e={};if("function"===this.method.type&&(e.call=this.parent._executeMethod.bind(e,"call"),e.call.request=this.parent._executeMethod.bind(e,"call",!0)),e.send=this.parent._executeMethod.bind(e,"send"),e.send.request=this.parent._executeMethod.bind(e,"send",!0),e.encodeABI=this.parent._encodeMethodABI.bind(e),e.estimateGas=this.parent._executeMethod.bind(e,"estimate"),t&&this.method.inputs&&t.length!==this.method.inputs.length){if(this.nextMethod)return this.nextMethod.apply(null,t);throw l.InvalidNumberOfParams(t.length,this.method.inputs.length,this.method.name)}return e.arguments=t||[],e._method=this.method,e._parent=this.parent,e._ethAccounts=this.parent.constructor._ethAccounts||this._ethAccounts,this.deployData&&(e._deployData=this.deployData),e},b.prototype._processExecuteArguments=function(t,e){var r={};if(r.type=t.shift(),r.callback=this._parent._getCallback(t),"call"!==r.type||!0===t[t.length-1]||"string"!=typeof t[t.length-1]&&!isFinite(t[t.length-1])||(r.defaultBlock=t.pop()),r.options="object"===(!!t[t.length-1]&&(0,o.default)(t[t.length-1]))?t.pop():{},r.generateRequest=!0===t[t.length-1]&&t.pop(),r.options=this._parent._getOrSetDefaultOptions(r.options),r.options.data=this.encodeABI(),!this._deployData&&!c.isAddress(this._parent.options.address))throw l.ContractNoAddressDefinedError();return this._deployData||(r.options.to=this._parent.options.address),r.options.data?r:c._fireError(new Error("Couldn't find a matching contract method, or the number of parameters is wrong."),e.eventEmitter,e.reject,r.callback)},b.prototype._executeMethod=function(){var t=this,e=this._parent._processExecuteArguments.call(this,Array.prototype.slice.call(arguments),r),r=p("send"!==e.type),n=t.constructor._ethAccounts||t._ethAccounts;if(e.generateRequest){var i={params:[d.inputCallFormatter.call(this._parent,e.options)],callback:e.callback};return"call"===e.type?(i.params.push(d.inputDefaultBlockNumberFormatter.call(this._parent,e.defaultBlock)),i.method="eth_call",i.format=this._parent._decodeMethodReturn.bind(null,this._method.outputs)):i.method="eth_sendTransaction",i}switch(e.type){case"estimate":var o=new f({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[d.inputCallFormatter],outputFormatter:c.hexToNumber,requestManager:t._parent._requestManager,accounts:n,defaultAccount:t._parent.defaultAccount,defaultBlock:t._parent.defaultBlock}).createFunction();return o(e.options,e.callback);case"call":var a=new f({name:"call",call:"eth_call",params:2,inputFormatter:[d.inputCallFormatter,d.inputDefaultBlockNumberFormatter],outputFormatter:function(e){return t._parent._decodeMethodReturn(t._method.outputs,e)},requestManager:t._parent._requestManager,accounts:n,defaultAccount:t._parent.defaultAccount,defaultBlock:t._parent.defaultBlock,handleRevert:t._parent.handleRevert,abiCoder:m}).createFunction();return a(e.options,e.defaultBlock,e.callback);case"send":if(!c.isAddress(e.options.from))return c._fireError(l.ContractNoFromAddressDefinedError(),r.eventEmitter,r.reject,e.callback);if("boolean"==typeof this._method.payable&&!this._method.payable&&e.options.value&&e.options.value>0)return c._fireError(new Error("Can not send value to non-payable contract method or constructor"),r.eventEmitter,r.reject,e.callback);var s={receiptFormatter:function(e){if(Array.isArray(e.logs)){var r=e.logs.map((function(e){return t._parent._decodeEventABI.call({name:"ALLEVENTS",jsonInterface:t._parent.options.jsonInterface},e)}));e.events={};var n=0;r.forEach((function(t){t.event?e.events[t.event]?Array.isArray(e.events[t.event])?e.events[t.event].push(t):e.events[t.event]=[e.events[t.event],t]:e.events[t.event]=t:(e.events[n]=t,n++)})),delete e.logs}return e},contractDeployFormatter:function(e){var r=t._parent.clone();return r.options.address=e.contractAddress,r}},u=new f({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[d.inputTransactionFormatter],requestManager:t._parent._requestManager,accounts:t.constructor._ethAccounts||t._ethAccounts,defaultAccount:t._parent.defaultAccount,defaultBlock:t._parent.defaultBlock,transactionBlockTimeout:t._parent.transactionBlockTimeout,transactionConfirmationBlocks:t._parent.transactionConfirmationBlocks,transactionPollingTimeout:t._parent.transactionPollingTimeout,defaultCommon:t._parent.defaultCommon,defaultChain:t._parent.defaultChain,defaultHardfork:t._parent.defaultHardfork,handleRevert:t._parent.handleRevert,extraFormatters:s,abiCoder:m}).createFunction();return u(e.options,e.callback);default:throw new Error('Method "'+e.type+'" not implemented.')}},t.exports=b},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(1).Buffer,o=r(18),a=r(178).AbiCoder,s=r(178).ParamType,u=new a((function(t,e){return!t.match(/^u?int/)||Array.isArray(e)||e&&"object"===(0,n.default)(e)&&"BN"===e.constructor.name?e:e.toString()}));function f(){}var c=function(){};c.prototype.encodeFunctionSignature=function(t){return("function"==typeof t||"object"===(0,n.default)(t)&&t)&&(t=o._jsonInterfaceMethodToString(t)),o.sha3(t).slice(0,10)},c.prototype.encodeEventSignature=function(t){return("function"==typeof t||"object"===(0,n.default)(t)&&t)&&(t=o._jsonInterfaceMethodToString(t)),o.sha3(t)},c.prototype.encodeParameter=function(t,e){return this.encodeParameters([t],[e])},c.prototype.encodeParameters=function(t,e){var r=this;return t=r.mapTypes(t),e=e.map((function(e,i){var o=t[i];if("object"===(0,n.default)(o)&&o.type&&(o=o.type),e=r.formatParam(o,e),"string"==typeof o&&o.includes("tuple")){!function t(e,n){if("array"===e.name)return n.map((function(r){return t(u._getCoder(s.from(e.type.replace("[]",""))),r)}));e.coders.forEach((function(e,i){"tuple"===e.name?t(e,n[i]):n[i]=r.formatParam(e.name,n[i])}))}(u._getCoder(s.from(o)),e)}return e})),u.encode(t,e)},c.prototype.mapTypes=function(t){var e=this,r=[];return t.forEach((function(t){if("object"===(0,n.default)(t)&&"function"===t.type&&(t=Object.assign({},t,{type:"bytes24"})),e.isSimplifiedStructFormat(t)){var i=Object.keys(t)[0];r.push(Object.assign(e.mapStructNameAndType(i),{components:e.mapStructToCoderFormat(t[i])}))}else r.push(t)})),r},c.prototype.isSimplifiedStructFormat=function(t){return"object"===(0,n.default)(t)&&void 0===t.components&&void 0===t.name},c.prototype.mapStructNameAndType=function(t){var e="tuple";return t.indexOf("[]")>-1&&(e="tuple[]",t=t.slice(0,-2)),{type:e,name:t}},c.prototype.mapStructToCoderFormat=function(t){var e=this,r=[];return Object.keys(t).forEach((function(i){"object"!==(0,n.default)(t[i])?r.push({name:i,type:t[i]}):r.push(Object.assign(e.mapStructNameAndType(i),{components:e.mapStructToCoderFormat(t[i])}))})),r},c.prototype.formatParam=function(t,e){var r=this,n=new RegExp(/^bytes([0-9]*)$/),a=new RegExp(/^bytes([0-9]*)\[\]$/),s=new RegExp(/^(u?int)([0-9]*)$/),u=new RegExp(/^(u?int)([0-9]*)\[\]$/);if(o.isBN(e)||o.isBigNumber(e))return e.toString(10);if(t.match(a)||t.match(u))return e.map((function(e){return r.formatParam(t.replace("[]",""),e)}));var f=t.match(s);if(f){var c=parseInt(f[2]||"256");c/80&&(!e||"0x"===e||"0X"===e))throw new Error("Returned values aren't valid, did it run Out of Gas? You might also see this error if you are not using the correct ABI for the contract you are retrieving data from, requesting data from a block number that does not exist, or querying a node which is not fully synced.");var i=u.decode(this.mapTypes(t),"0x"+e.replace(/0x/i,""),r),o=new f;return o.__length__=0,t.forEach((function(t,e){var r=i[o.__length__];r="0x"===r?null:r,o[e]=r,("function"==typeof t||t&&"object"===(0,n.default)(t))&&t.name&&(o[t.name]=r),o.__length__++})),o},c.prototype.decodeLog=function(t,e,r){var n=this;r=Array.isArray(r)?r:[r],e=e||"";var i=[],o=[],a=0;t.forEach((function(t,e){t.indexed?(o[e]=["bool","int","uint","address","fixed","ufixed"].find((function(e){return-1!==t.type.indexOf(e)}))?n.decodeParameter(t.type,r[a]):r[a],a++):i[e]=t}));var s=e,u=s?this.decodeParametersWith(i,s,!0):[],c=new f;return c.__length__=0,t.forEach((function(t,e){c[e]="string"===t.type?"":null,void 0!==u[e]&&(c[e]=u[e]),void 0!==o[e]&&(c[e]=o[e]),t.name&&(c[t.name]=c[e]),c.__length__++})),c};var h=new c;t.exports=h},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"ConstructorFragment",{enumerable:!0,get:function(){return n.ConstructorFragment}}),Object.defineProperty(e,"EventFragment",{enumerable:!0,get:function(){return n.EventFragment}}),Object.defineProperty(e,"FormatTypes",{enumerable:!0,get:function(){return n.FormatTypes}}),Object.defineProperty(e,"Fragment",{enumerable:!0,get:function(){return n.Fragment}}),Object.defineProperty(e,"FunctionFragment",{enumerable:!0,get:function(){return n.FunctionFragment}}),Object.defineProperty(e,"ParamType",{enumerable:!0,get:function(){return n.ParamType}}),Object.defineProperty(e,"AbiCoder",{enumerable:!0,get:function(){return i.AbiCoder}}),Object.defineProperty(e,"defaultAbiCoder",{enumerable:!0,get:function(){return i.defaultAbiCoder}}),Object.defineProperty(e,"checkResultErrors",{enumerable:!0,get:function(){return o.checkResultErrors}}),Object.defineProperty(e,"Indexed",{enumerable:!0,get:function(){return o.Indexed}}),Object.defineProperty(e,"Interface",{enumerable:!0,get:function(){return o.Interface}}),Object.defineProperty(e,"LogDescription",{enumerable:!0,get:function(){return o.LogDescription}}),Object.defineProperty(e,"TransactionDescription",{enumerable:!0,get:function(){return o.TransactionDescription}});var n=r(104),i=r(179),o=r(433)},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.defaultAbiCoder=e.AbiCoder=void 0;var i=n(r(7)),o=n(r(8)),a=r(13),s=r(41),u=r(17),f=r(65),c=r(24),h=r(421),d=r(180),l=r(423),p=r(181),m=r(425),b=r(426),v=r(427),y=r(428),g=r(432),w=r(104),_=new u.Logger(f.version),M=new RegExp(/^bytes([0-9]*)$/),k=new RegExp(/^(u?int)([0-9]*)$/),S=function(){function t(e){(0,i.default)(this,t),_.checkNew(this instanceof t?this.constructor:void 0,t),(0,s.defineReadOnly)(this,"coerceFunc",e||null)}return(0,o.default)(t,[{key:"_getCoder",value:function(t){var e=this;switch(t.baseType){case"address":return new h.AddressCoder(t.name);case"bool":return new l.BooleanCoder(t.name);case"string":return new y.StringCoder(t.name);case"bytes":return new p.BytesCoder(t.name);case"array":return new d.ArrayCoder(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new g.TupleCoder((t.components||[]).map((function(t){return e._getCoder(t)})),t.name);case"":return new b.NullCoder(t.name)}var r=t.type.match(k);if(r){var n=parseInt(r[2]||"256");return(0===n||n>256||n%8!=0)&&_.throwArgumentError("invalid "+r[1]+" bit length","param",t),new v.NumberCoder(n/8,"int"===r[1],t.name)}if(r=t.type.match(M)){var i=parseInt(r[1]);return(0===i||i>32)&&_.throwArgumentError("invalid bytes length","param",t),new m.FixedBytesCoder(i,t.name)}return _.throwArgumentError("invalid type","type",t.type)}},{key:"_getWordSize",value:function(){return 32}},{key:"_getReader",value:function(t,e){return new c.Reader(t,this._getWordSize(),this.coerceFunc,e)}},{key:"_getWriter",value:function(){return new c.Writer(this._getWordSize())}},{key:"encode",value:function(t,e){var r=this;t.length!==e.length&&_.throwError("types/values length mismatch",u.Logger.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});var n=t.map((function(t){return r._getCoder(w.ParamType.from(t))})),i=new g.TupleCoder(n,"_"),o=this._getWriter();return i.encode(o,e),o.data}},{key:"decode",value:function(t,e,r){var n=this,i=t.map((function(t){return n._getCoder(w.ParamType.from(t))}));return new g.TupleCoder(i,"_").decode(this._getReader((0,a.arrayify)(e),r))}}]),t}();e.AbiCoder=S;var A=new S;e.defaultAbiCoder=A},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.pack=b,e.unpack=v,e.ArrayCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12)),f=n(r(2)),c=r(17),h=r(65),d=r(24),l=r(422);function p(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var m=new c.Logger(h.version);function b(t,e,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"===(0,f.default)(r)){var i={};n=e.map((function(t){var e=t.localName;return e||m.throwError("cannot encode object for signature with missing names",c.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]&&m.throwError("cannot encode object for signature with duplicate names",c.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]=!0,r[e]}))}else m.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&m.throwArgumentError("types/value length mismatch","tuple",r);var o=new d.Writer(t.wordSize),a=new d.Writer(t.wordSize),s=[];e.forEach((function(t,e){var r=n[e];if(t.dynamic){var i=a.length;t.encode(a,r);var u=o.writeUpdatableValue();s.push((function(t){u(t+i)}))}else t.encode(o,r)})),s.forEach((function(t){t(o.length)}));var u=t.appendWriter(o);return u+=t.appendWriter(a)}function v(t,e){var r=[],n=t.subReader(0);e.forEach((function(e){var i=null;if(e.dynamic){var o=t.readValue(),a=n.subReader(o.toNumber());try{i=e.decode(a)}catch(t){if(t.code===c.Logger.errors.BUFFER_OVERRUN)throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}}else try{i=e.decode(t)}catch(t){if(t.code===c.Logger.errors.BUFFER_OVERRUN)throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}null!=i&&r.push(i)}));var i=e.reduce((function(t,e){var r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t}),{});e.forEach((function(t,e){var n=t.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==r[n])){var o=r[e];o instanceof Error?Object.defineProperty(r,n,{get:function(){throw o}}):r[n]=o}}));for(var o=function(t){var e=r[t];e instanceof Error&&Object.defineProperty(r,t,{get:function(){throw e}})},a=0;a=0?n:"")+"]",u=-1===n||t.dynamic;return(a=e.call(this,"array",s,o,u)).coder=t,a.length=n,a}return(0,o.default)(r,[{key:"encode",value:function(t,e){Array.isArray(e)||this._throwError("expected array value",e);var r=this.length;-1===r&&(r=e.length,t.writeValue(e.length)),m.checkArgumentCount(e.length,r,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i=0;i--){var s=n(a[i]);r=n(new t(r+s,"hex"))}}return"0x"+r},e.normalize=o}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(e){var n=r(66);function i(t){return parseInt(t.toString("hex"),16)}function o(t){var r=t.toString(16);return r.length%2==1&&(r="0"+r),e.from(r,"hex")}t.exports={numberToBuffer:o,bufferToNumber:i,varintBufferEncode:function(t){return e.from(n.encode(i(t)))},varintBufferDecode:function(t){return o(n.decode(t))},varintEncode:function(t){return e.from(n.encode(t))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=r(0),i=n(r(7)),o=n(r(8)),a=r(1).Buffer,s=r(106),u=r(462),f=r(468),c=r(67),h=r(473),d=r(474)(function(){function t(e,r,n,o){if((0,i.default)(this,t),d.isCID(e)){var c=e;return this.version=c.version,this.codec=c.codec,this.multihash=a.from(c.multihash),void(this.multibaseName=c.multibaseName||(0===c.version?"base58btc":"base32"))}if("string"==typeof e){var h=u.isEncoded(e);if(h){var l=u.decode(e);this.version=parseInt(l.slice(0,1).toString("hex"),16),this.codec=f.getCodec(l.slice(1)),this.multihash=f.rmPrefix(l.slice(1)),this.multibaseName=h}else this.version=0,this.codec="dag-pb",this.multihash=s.fromB58String(e),this.multibaseName="base58btc";return t.validateCID(this),void Object.defineProperty(this,"string",{value:e})}if(a.isBuffer(e)){var p=e.slice(0,1),m=parseInt(p.toString("hex"),16);if(1===m){var b=e;this.version=m,this.codec=f.getCodec(b.slice(1)),this.multihash=f.rmPrefix(b.slice(1)),this.multibaseName="base32"}else this.version=0,this.codec="dag-pb",this.multihash=e,this.multibaseName="base58btc";t.validateCID(this)}else this.version=e,this.codec=r,this.multihash=n,this.multibaseName=o||(0===e?"base58btc":"base32"),t.validateCID(this)}return(0,o.default)(t,[{key:"buffer",get:function(){var t=this._buffer;if(!t){if(0===this.version)t=this.multihash;else{if(1!==this.version)throw new Error("unsupported version");t=a.concat([a.from("01","hex"),f.getCodeVarint(this.codec),this.multihash])}Object.defineProperty(this,"_buffer",{value:t})}return t}},{key:"prefix",get:function(){return a.concat([a.from("0".concat(this.version),"hex"),f.getCodeVarint(this.codec),s.prefix(this.multihash)])}},{key:"toV0",value:function(){if("dag-pb"!==this.codec)throw new Error("Cannot convert a non dag-pb CID to CIDv0");var t=s.decode(this.multihash),e=t.name,r=t.length;if("sha2-256"!==e)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");if(32!==r)throw new Error("Cannot convert non 32 byte multihash CID to CIDv0");return new d(0,this.codec,this.multihash)}},{key:"toV1",value:function(){return new d(1,this.codec,this.multihash)}},{key:"toBaseEncodedString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.multibaseName;if(this.string&&t===this.multibaseName)return this.string;var e=null;if(0===this.version){if("base58btc"!==t)throw new Error("not supported with CIDv0, to support different bases, please migrate the instance do CIDv1, you can do that through cid.toV1()");e=s.toB58String(this.multihash)}else{if(1!==this.version)throw new Error("unsupported version");e=u.encode(t,this.buffer).toString()}return t===this.multibaseName&&Object.defineProperty(this,"string",{value:e}),e}},{key:Symbol.for("nodejs.util.inspect.custom"),value:function(){return"CID("+this.toString()+")"}},{key:"toString",value:function(t){return this.toBaseEncodedString(t)}},{key:"toJSON",value:function(){return{codec:this.codec,version:this.version,hash:this.multihash}}},{key:"equals",value:function(t){return this.codec===t.codec&&this.version===t.version&&this.multihash.equals(t.multihash)}}],[{key:"validateCID",value:function(t){var e=h.checkCIDComponents(t);if(e)throw new Error(e)}}]),t}(),{className:"CID",symbolName:"@ipld/js-cid/CID"});d.codecs=c,t.exports=d},function(t,e,r){"use strict";var n=r(4).Buffer;t.exports=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r>>0,c=new Uint8Array(a);t[r];){var h=e[t.charCodeAt(r)];if(255===h)return;for(var d=0,l=a-1;(0!==h||d>>0,c[l]=h%256>>>0,h=h/256>>>0;if(0!==h)throw new Error("Non-zero carry");o=d,r++}if(" "!==t[r]){for(var p=a-o;p!==a&&0===c[p];)p++;var m=n.allocUnsafe(i+(a-p));m.fill(0,0,i);for(var b=i;p!==a;)m[b++]=c[p++];return m}}}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=n.from(e)),!n.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,i=0,o=0,a=e.length;o!==a&&0===e[o];)o++,r++;for(var f=(a-o)*c+1>>>0,h=new Uint8Array(f);o!==a;){for(var d=e[o],l=0,p=f-1;(0!==d||l>>0,h[p]=d%s>>>0,d=d/s>>>0;if(0!==d)throw new Error("Non-zero carry");i=l,o++}for(var m=f-i;m!==f&&0===h[m];)m++;for(var b=u.repeat(r);m>6|192);else{if(i>55295&&i<56320){if(++n==t.length)return null;var o=t.charCodeAt(n);if(o<56320||o>57343)return null;r+=e((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=e(i>>12&63|128)}else r+=e(i>>12|224);r+=e(i>>6&63|128)}r+=e(63&i|128)}}return r},toString:function(t){for(var e="",r=0,o=i(t);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(t,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(t,r))<<6|63&n(t,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(t,r))<<12|(63&n(t,++r))<<6|63&n(t,++r)}++r}if(a<=65535)e+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,e+=String.fromCharCode(a>>10|55296),e+=String.fromCharCode(1023&a|56320)}}return e},fromNumber:function(t){var e=t.toString(16);return e.length%2==0?"0x"+e:"0x0"+e},toNumber:function(t){return parseInt(t.slice(2),16)},fromNat:function(t){return"0x0"===t?"0x":t.length%2==0?t:"0x0"+t.slice(2)},toNat:function(t){return"0"===t[2]?"0x"+t.slice(3):t},fromArray:a,toArray:o,fromUint8Array:function(t){return a([].slice.call(t,0))},toUint8Array:function(t){return new Uint8Array(o(t))}}},function(t,e,r){"use strict";var n=r(485).Buffer,i=r(486).Transform;function o(t){i.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(3)(o,i),o.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},o.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},o.prototype.update=function(t,e){if(function(t,e){if(!n.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");n.isBuffer(t)||(t=n.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var o=this._blockOffset;o0;++a)this._length[a]+=s,(s=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*s);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},function(t,e,r){"use strict";(function(e,n){var i;t.exports=A,A.ReadableState=S;r(22).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=r(194),s=r(1).Buffer,u=e.Uint8Array||function(){};var f,c=r(487);f=c&&c.debuglog?c.debuglog("stream"):function(){};var h,d,l,p=r(488),m=r(195),b=r(196).getHighWaterMark,v=r(51).codes,y=v.ERR_INVALID_ARG_TYPE,g=v.ERR_STREAM_PUSH_AFTER_EOF,w=v.ERR_METHOD_NOT_IMPLEMENTED,_=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(3)(A,a);var M=m.errorOrDestroy,k=["error","close","destroy","pause","resume"];function S(t,e,n){i=i||r(52),t=t||{},"boolean"!=typeof n&&(n=e instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b(this,t,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(h||(h=r(25).StringDecoder),this.decoder=new h(t.encoding),this.encoding=t.encoding)}function A(t){if(i=i||r(52),!(this instanceof A))return new A(t);var e=this instanceof i;this._readableState=new S(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function x(t,e,r,n,i){f("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(f("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?B(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,O(t)))}(t,a);else if(i||(o=function(t,e){var r;n=e,s.isBuffer(n)||n instanceof u||"string"==typeof e||void 0===e||t.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],e));var n;return r}(a,e)),o)M(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)a.endEmitted?M(t,new _):E(t,a,e,!0);else if(a.ended)M(t,new g);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):R(t,a)):E(t,a,e,!1)}else n||(a.reading=!1,R(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t){var e=t._readableState;f("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(O,t))}function O(t){var e=t._readableState;f("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,U(t)}function R(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(T,t,e))}function T(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function C(t){f("readable nexttick read 0"),t.read(0)}function N(t,e){f("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),U(t),e.flowing&&!e.reading&&t.read(0)}function U(t){var e=t._readableState;for(f("flow",e.flowing);e.flowing&&null!==t.read(););}function j(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function L(t){var e=t._readableState;f("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(D,e,t))}function D(t,e){if(f("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function F(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?L(this):B(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&L(this),null;var n,i=e.needReadable;return f("need readable",i),(0===e.length||e.length-t0?j(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&L(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){M(this,new w("_read()"))},A.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,e);var a=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?u:b;function s(e,n){f("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",c),t.removeListener("error",l),t.removeListener("unpipe",s),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",d),h=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}function u(){f("onend"),t.end()}i.endEmitted?n.nextTick(a):r.once("end",a),t.on("unpipe",s);var c=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,U(t))}}(r);t.on("drain",c);var h=!1;function d(e){f("ondata");var n=t.write(e);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==F(i.pipes,t))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function l(e){f("onerror",e),b(),t.removeListener("error",l),0===o(t,"error")&&M(t,e)}function p(){t.removeListener("finish",m),b()}function m(){f("onfinish"),t.removeListener("close",p),b()}function b(){f("unpipe"),r.unpipe(t)}return r.on("data",d),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",l),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?B(this):i.reading||n.nextTick(C,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(I,this),r},A.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(I,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(f("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(N,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,R(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this,r(6),r(5))},function(t,e,r){"use strict";t.exports=c;var n=r(51).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,u=r(52);function f(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function l(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,p=0|this._f,m=0|this._g,b=0|this._h,v=0;v<16;++v)r[v]=t.readInt32BE(4*v);for(;v<64;++v)r[v]=0|(((e=r[v-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[v-7]+l(r[v-15])+r[v-16];for(var y=0;y<64;++y){var g=b+d(u)+f(u,p,m)+a[y]+r[y]|0,w=h(n)+c(n,i,o)|0;b=m,m=p,p=u,u=s+g|0,s=o,o=i,i=n,n=g+w|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(53),o=r(4).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function u(){this.init(),this._w=s,i.call(this,128,112)}function f(t,e,r){return r^t&(e^r)}function c(t,e,r){return t&e|r&(t|e)}function h(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function l(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function b(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function v(t,e){return t>>>0>>0?1:0}n(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,u=0|this._fh,y=0|this._gh,g=0|this._hh,w=0|this._al,_=0|this._bl,M=0|this._cl,k=0|this._dl,S=0|this._el,A=0|this._fl,x=0|this._gl,E=0|this._hl,P=0;P<32;P+=2)e[P]=t.readInt32BE(4*P),e[P+1]=t.readInt32BE(4*P+4);for(;P<160;P+=2){var B=e[P-30],O=e[P-30+1],R=l(B,O),T=p(O,B),I=m(B=e[P-4],O=e[P-4+1]),C=b(O,B),N=e[P-14],U=e[P-14+1],j=e[P-32],L=e[P-32+1],D=T+U|0,F=R+N+v(D,T)|0;F=(F=F+I+v(D=D+C|0,C)|0)+j+v(D=D+L|0,L)|0,e[P]=F,e[P+1]=D}for(var q=0;q<160;q+=2){F=e[q],D=e[q+1];var H=c(r,n,i),z=c(w,_,M),K=h(r,w),G=h(w,r),V=d(s,S),W=d(S,s),Z=a[q],J=a[q+1],X=f(s,u,y),Y=f(S,A,x),$=E+W|0,Q=g+V+v($,E)|0;Q=(Q=(Q=Q+X+v($=$+Y|0,Y)|0)+Z+v($=$+J|0,J)|0)+F+v($=$+D|0,D)|0;var tt=G+z|0,et=K+H+v(tt,G)|0;g=y,E=x,y=u,x=A,u=s,A=S,s=o+Q+v(S=k+$|0,k)|0,o=i,k=M,i=n,M=_,n=r,_=w,r=Q+et+v(w=$+tt|0,$)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+M|0,this._dl=this._dl+k|0,this._el=this._el+S|0,this._fl=this._fl+A|0,this._gl=this._gl+x|0,this._hl=this._hl+E|0,this._ah=this._ah+r+v(this._al,w)|0,this._bh=this._bh+n+v(this._bl,_)|0,this._ch=this._ch+i+v(this._cl,M)|0,this._dh=this._dh+o+v(this._dl,k)|0,this._eh=this._eh+s+v(this._el,S)|0,this._fh=this._fh+u+v(this._fl,A)|0,this._gh=this._gh+y+v(this._gl,x)|0,this._hh=this._hh+g+v(this._hl,E)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(498),o=r(31),a=r(4).Buffer,s=r(202),u=r(109),f=r(110),c=a.alloc(128);function h(t,e){o.call(this,"digest"),"string"==typeof e&&(e=a.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new u:f(t)).update(e).digest():e.lengthn||e!=e)throw new TypeError("Bad key length")}},function(t,e,r){"use strict";(function(e,r){var n;if(e.process&&e.process.browser)n="utf-8";else if(e.process&&e.process.version){n=parseInt(r.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else n="utf-8";t.exports=n}).call(this,r(6),r(5))},function(t,e,r){"use strict";var n=r(202),i=r(109),o=r(110),a=r(4).Buffer,s=r(205),u=r(206),f=r(208),c=a.alloc(128),h={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(t,e,r){var s=function(t){function e(e){return o(t).update(e).digest()}return"rmd160"===t||"ripemd160"===t?function(t){return(new i).update(t).digest()}:"md5"===t?n:e}(t),u="sha512"===t||"sha384"===t?128:64;e.length>u?e=s(e):e.length>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,n){for(var i=0,o=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},e.rip=function(t,e,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)i<<=1,i|=e>>>s+a&1,i<<=1,i|=t>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=e>>>s+a&1,o<<=1,o|=t>>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},e.pc1=function(t,e,r,n){for(var i=0,o=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1}for(s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},e.r28shl=function(t,e){return t<>>28-e};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,r,i){for(var o=0,a=0,s=n.length>>>1,u=0;u>>n[u]&1;for(u=s;u>>n[u]&1;r[i+0]=o>>>0,r[i+1]=a>>>0},e.expand=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)i|=t>>>o&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(t>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(e>>>18-6*n&63)]}return r>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r>>o[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var n=t.toString(2);n.length>>1];r=o.r28shl(r,s),i=o.r28shl(i,s),o.pc2(r,i,t.keys,a)}},u.prototype._update=function(t,e,r,n){var i=this._desState,a=o.readUInt32BE(t,e),s=o.readUInt32BE(t,e+4);o.ip(a,s,i.tmp,0),a=i.tmp[0],s=i.tmp[1],"encrypt"===this.type?this._encrypt(i,a,s,i.tmp,0):this._decrypt(i,a,s,i.tmp,0),a=i.tmp[0],s=i.tmp[1],o.writeUInt32BE(r,a,n),o.writeUInt32BE(r,s,n+4)},u.prototype._pad=function(t,e){for(var r=t.length-e,n=e;n>>0,a=d}o.rip(s,a,n,i)},u.prototype._decrypt=function(t,e,r,n,i){for(var a=r,s=e,u=t.keys.length-2;u>=0;u-=2){var f=t.keys[u],c=t.keys[u+1];o.expand(a,t.tmp,0),f^=t.tmp[0],c^=t.tmp[1];var h=o.substitute(f,c),d=a;a=(s^o.permute(h))>>>0,s=d}o.rip(a,s,n,i)}},function(t,e,r){"use strict";var n=r(68),i=r(4).Buffer,o=r(212);function a(t){var e=t._cipher.encryptBlockRaw(t._prev);return o(t._prev),e}e.encrypt=function(t,e){var r=Math.ceil(e.length/16),o=t._cache.length;t._cache=i.concat([t._cache,i.allocUnsafe(16*r)]);for(var s=0;st;)r.ishrn(1);if(r.isEven()&&r.iadd(s),r.testn(1)||r.iadd(u),e.cmp(u)){if(!e.cmp(f))for(;r.mod(c).cmp(h);)r.iadd(l)}else for(;r.mod(o).cmp(d);)r.iadd(l);if(b(p=r.shrn(1))&&b(r)&&v(p)&&v(r)&&a.test(p)&&a.test(r))return r}}},function(t,e,r){"use strict";var n=r(9),i=r(114);function o(t){this.rand=t||new i.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(t)>=0);return i},o.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},o.prototype.test=function(t,e,r){var i=t.bitLength(),o=n.mont(t),a=new n(1).toRed(o);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),u=0;!s.testn(u);u++);for(var f=t.shrn(u),c=s.toRed(o);e>0;e--){var h=this._randrange(new n(2),s);r&&r(h);var d=h.toRed(o).redPow(f);if(0!==d.cmp(a)&&0!==d.cmp(c)){for(var l=1;l0;e--){var c=this._randrange(new n(2),a),h=t.gcd(c);if(0!==h.cmpn(1))return h;var d=c.toRed(i).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(f)){for(var l=1;l0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)a.endEmitted?M(t,new _):E(t,a,e,!0);else if(a.ended)M(t,new g);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):R(t,a)):E(t,a,e,!1)}else n||(a.reading=!1,R(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t){var e=t._readableState;f("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(O,t))}function O(t){var e=t._readableState;f("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,U(t)}function R(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(T,t,e))}function T(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function C(t){f("readable nexttick read 0"),t.read(0)}function N(t,e){f("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),U(t),e.flowing&&!e.reading&&t.read(0)}function U(t){var e=t._readableState;for(f("flow",e.flowing);e.flowing&&null!==t.read(););}function j(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function L(t){var e=t._readableState;f("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(D,e,t))}function D(t,e){if(f("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function F(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?L(this):B(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&L(this),null;var n,i=e.needReadable;return f("need readable",i),(0===e.length||e.length-t0?j(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&L(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){M(this,new w("_read()"))},A.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,e);var a=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?u:b;function s(e,n){f("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",c),t.removeListener("error",l),t.removeListener("unpipe",s),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",d),h=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}function u(){f("onend"),t.end()}i.endEmitted?n.nextTick(a):r.once("end",a),t.on("unpipe",s);var c=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,U(t))}}(r);t.on("drain",c);var h=!1;function d(e){f("ondata");var n=t.write(e);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==F(i.pipes,t))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function l(e){f("onerror",e),b(),t.removeListener("error",l),0===o(t,"error")&&M(t,e)}function p(){t.removeListener("finish",m),b()}function m(){f("onfinish"),t.removeListener("close",p),b()}function b(){f("unpipe"),r.unpipe(t)}return r.on("data",d),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",l),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?B(this):i.reading||n.nextTick(C,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(I,this),r},A.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(I,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(f("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(N,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,R(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this,r(6),r(5))},function(t,e,r){"use strict";t.exports=c;var n=r(54).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,u=r(55);function f(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(t,e){return"hex"===e?o(t):t}},function(t,e,r){"use strict";var n=e;n.base=r(85),n.short=r(533),n.mont=r(534),n.edwards=r(535)},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2));!function(t,n){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"===(0,e.default)(t)?t.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(544).Buffer}catch(t){}function u(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(t){a.prototype.inspect=d}else a.prototype.inspect=d;function d(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?l[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var d=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?d+r:l[f-d.length]+d+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function M(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){M.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){M.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){M.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){M.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function P(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}M.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},M.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},M.prototype.split=function(t,e){t.iushrn(this.n,0,e)},M.prototype.imulK=function(t){return t.imul(this.k)},o(k,M),k.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new P(t)},o(P,E),P.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},P.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},P.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e,r){"use strict";var n=e;n.bignum=r(9),n.define=r(546).define,n.base=r(549),n.constants=r(550),n.decoders=r(230),n.encoders=r(228)},function(t,e,r){"use strict";var n=e;n.der=r(229),n.pem=r(547)},function(t,e,r){"use strict";var n=r(3),i=r(119).Buffer,o=r(120),a=r(122);function s(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){o.call(this,"der",t)}function f(t){return t<10?"0"+t:t}t.exports=s,s.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},n(u,o),u.prototype._encodeComposite=function(t,e,r,n){var o=function(t,e,r,n){var i;"seqof"===t?t="seq":"setof"===t&&(t="set");if(a.tagByName.hasOwnProperty(t))i=a.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);i=t}if(i>=31)return n.error("Multi-octet tag encoding unsupported");e||(i|=32);return i|=a.tagClassByName[r||"universal"]<<6}(t,e,r,this.reporter);if(n.length<128){var s=i.alloc(2);return s[0]=o,s[1]=n.length,this._createEncoderBuffer([s,n])}for(var u=1,f=n.length;f>=256;f>>=8)u++;var c=i.alloc(2+u);c[0]=o,c[1]=128|u;for(var h=1+u,d=n.length;d>0;h--,d>>=8)c[h]=255&d;return this._createEncoderBuffer([c,n])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=i.alloc(2*t.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}for(var a=0,s=0;s=128;u>>=7)a++}for(var f=i.alloc(a),c=f.length-1,h=t.length-1;h>=0;h--){var d=t[h];for(f[c--]=127&d;(d>>=7)>0;)f[c--]=128|127&d}return this._createEncoderBuffer(f)},u.prototype._encodeTime=function(t,e){var r,n=new Date(t);return"gentime"===e?r=[f(n.getUTCFullYear()),f(n.getUTCMonth()+1),f(n.getUTCDate()),f(n.getUTCHours()),f(n.getUTCMinutes()),f(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[f(n.getUTCFullYear()%100),f(n.getUTCMonth()+1),f(n.getUTCDate()),f(n.getUTCHours()),f(n.getUTCMinutes()),f(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!i.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=i.from(r)}if(i.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=i.alloc(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);for(var a=1,s=t;s>=256;s>>=8)a++;for(var u=new Array(a),f=u.length-1;f>=0;f--)u[f]=255&t,t>>=8;return 128&u[0]&&u.unshift(0),this._createEncoderBuffer(i.from(u))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var n,i=this._baseState;if(null===i.default)return!1;var o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:s.tag[r]}}function h(t,e,r){var n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return t.error("length octect is too long");n=0;for(var o=0;o>>((3&e)<<3)&255;return o}}},function(t,e,r){"use strict";for(var n=[],i=0;i<256;++i)n[i]=(i+256).toString(16).substr(1);t.exports=function(t,e){var r=e||0,i=n;return[i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]]].join("")}},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=function(t,e){for(var r in t)"default"===r||e.hasOwnProperty(r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0});var o=r(566);Object.defineProperty(e,"Transaction",{enumerable:!0,get:function(){return o.default}});var a=r(616);Object.defineProperty(e,"AccessListEIP2930Transaction",{enumerable:!0,get:function(){return a.default}});var s=r(617);Object.defineProperty(e,"TransactionFactory",{enumerable:!0,get:function(){return s.default}});var u=r(618);Object.defineProperty(e,"FeeMarketEIP1559Transaction",{enumerable:!0,get:function(){return u.default}}),i(r(57),e)},function(t,e,r){"use strict";var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.KECCAK256_RLP=e.KECCAK256_RLP_S=e.KECCAK256_RLP_ARRAY=e.KECCAK256_RLP_ARRAY_S=e.KECCAK256_NULL=e.KECCAK256_NULL_S=e.TWO_POW256=e.MAX_INTEGER=void 0;var i=r(1).Buffer,o=n(r(42));e.MAX_INTEGER=new o.default("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),e.TWO_POW256=new o.default("10000000000000000000000000000000000000000000000000000000000000000",16),e.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",e.KECCAK256_NULL=i.from(e.KECCAK256_NULL_S,"hex"),e.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",e.KECCAK256_RLP_ARRAY=i.from(e.KECCAK256_RLP_ARRAY_S,"hex"),e.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",e.KECCAK256_RLP=i.from(e.KECCAK256_RLP_S,"hex")},function(t,e,r){"use strict";(function(t){var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e},a=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a},s=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isZeroAddress=e.zeroAddress=e.importPublic=e.privateToAddress=e.privateToPublic=e.publicToAddress=e.pubToAddress=e.isValidPublic=e.isValidPrivate=e.generateAddress2=e.generateAddress=e.isValidChecksumAddress=e.toChecksumAddress=e.isValidAddress=e.Account=void 0;var u=s(r(44)),f=s(r(42)),c=o(r(87)),h=r(241),d=r(56),l=r(239),p=r(43),m=r(123),b=r(88),v=r(124),y=function(){function t(t,e,r,n){void 0===t&&(t=new f.default(0)),void 0===e&&(e=new f.default(0)),void 0===r&&(r=l.KECCAK256_RLP),void 0===n&&(n=l.KECCAK256_NULL),this.nonce=t,this.balance=e,this.stateRoot=r,this.codeHash=n,this._validate()}return t.fromAccountData=function(e){var r=e.nonce,n=e.balance,i=e.stateRoot,o=e.codeHash;return new t(r?new f.default(p.toBuffer(r)):void 0,n?new f.default(p.toBuffer(n)):void 0,i?p.toBuffer(i):void 0,o?p.toBuffer(o):void 0)},t.fromRlpSerializedAccount=function(t){var e=c.decode(t);if(!Array.isArray(e))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(e)},t.fromValuesArray=function(e){var r=a(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return new t(new f.default(n),new f.default(i),o,s)},t.prototype._validate=function(){if(this.nonce.lt(new f.default(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new f.default(0)))throw new Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw new Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw new Error("codeHash must have a length of 32")},t.prototype.raw=function(){return[v.bnToUnpaddedBuffer(this.nonce),v.bnToUnpaddedBuffer(this.balance),this.stateRoot,this.codeHash]},t.prototype.serialize=function(){return c.encode(this.raw())},t.prototype.isContract=function(){return!this.codeHash.equals(l.KECCAK256_NULL)},t.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(l.KECCAK256_NULL)},t}();e.Account=y,e.isValidAddress=function(t){try{b.assertIsString(t)}catch(t){return!1}return/^0x[0-9a-fA-F]{40}$/.test(t)},e.toChecksumAddress=function(t,e){b.assertIsHexString(t);var r=d.stripHexPrefix(t).toLowerCase(),n="";e&&(n=v.toType(e,v.TypeOutput.BN).toString()+"0x");for(var i=m.keccakFromString(n+r).toString("hex"),o="0x",a=0;a=8?o+=r[a].toUpperCase():o+=r[a];return o},e.isValidChecksumAddress=function(t,r){return e.isValidAddress(t)&&e.toChecksumAddress(t,r)===t},e.generateAddress=function(e,r){b.assertIsBuffer(e),b.assertIsBuffer(r);var n=new f.default(r);return n.isZero()?m.rlphash([e,null]).slice(-20):m.rlphash([e,t.from(n.toArray())]).slice(-20)},e.generateAddress2=function(e,r,n){return b.assertIsBuffer(e),b.assertIsBuffer(r),b.assertIsBuffer(n),u.default(20===e.length),u.default(32===r.length),m.keccak256(t.concat([t.from("ff","hex"),e,r,m.keccak256(n)])).slice(-20)},e.isValidPrivate=function(t){return h.privateKeyVerify(t)},e.isValidPublic=function(e,r){return void 0===r&&(r=!1),b.assertIsBuffer(e),64===e.length?h.publicKeyVerify(t.concat([t.from([4]),e])):!!r&&h.publicKeyVerify(e)},e.pubToAddress=function(e,r){return void 0===r&&(r=!1),b.assertIsBuffer(e),r&&64!==e.length&&(e=t.from(h.publicKeyConvert(e,!1).slice(1))),u.default(64===e.length),m.keccak(e).slice(-20)},e.publicToAddress=e.pubToAddress,e.privateToPublic=function(e){return b.assertIsBuffer(e),t.from(h.publicKeyCreate(e,!1)).slice(1)},e.privateToAddress=function(t){return e.publicToAddress(e.privateToPublic(t))},e.importPublic=function(e){return b.assertIsBuffer(e),64!==e.length&&(e=t.from(h.publicKeyConvert(e,!1).slice(1))),e},e.zeroAddress=function(){var t=p.zeros(20);return p.bufferToHex(t)},e.isZeroAddress=function(t){try{b.assertIsString(t)}catch(t){return!1}return e.zeroAddress()===t}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function a(t){try{u(n.next(t))}catch(t){o(t)}}function s(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},i=function(t,e){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]>6|192);else{if(i>55295&&i<56320){if(++n==t.length)return null;var o=t.charCodeAt(n);if(o<56320||o>57343)return null;r+=e((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=e(i>>12&63|128)}else r+=e(i>>12|224);r+=e(i>>6&63|128)}r+=e(63&i|128)}}return r},toString:function(t){for(var e="",r=0,o=i(t);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(t,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(t,r))<<6|63&n(t,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(t,r))<<12|(63&n(t,++r))<<6|63&n(t,++r)}++r}if(a<=65535)e+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,e+=String.fromCharCode(a>>10|55296),e+=String.fromCharCode(1023&a|56320)}}return e},fromNumber:function(t){var e=t.toString(16);return e.length%2==0?"0x"+e:"0x0"+e},toNumber:function(t){return parseInt(t.slice(2),16)},fromNat:function(t){return"0x0"===t?"0x":t.length%2==0?t:"0x0"+t.slice(2)},toNat:function(t){return"0"===t[2]?"0x"+t.slice(3):t},fromArray:a,toArray:o,fromUint8Array:function(t){return a([].slice.call(t,0))},toUint8Array:function(t){return new Uint8Array(o(t))}}},function(t,e,r){"use strict";var n=r(246).version,i=r(33),o=r(417),a=r(79),s=r(190),u=r(620),f=r(621),c=r(18),h=function(){var t=this;i.packageInit(this,arguments),this.version=n,this.utils=c,this.eth=new o(this),this.shh=new u(this),this.bzz=new f(this);var e=this.setProvider;this.setProvider=function(r,n){return e.apply(t,arguments),t.eth.setRequestManager(t._requestManager),t.shh.setRequestManager(t._requestManager),t.bzz.setProvider(r),!0}};h.version=n,h.utils=c,h.modules={Eth:o,Net:a,Personal:s,Shh:u,Bzz:f},i.addProviders(h),t.exports=h},function(t){t.exports=JSON.parse('{"name":"web3","version":"1.5.1-rc.0","description":"Ethereum JavaScript API","repository":"https://github.com/ethereum/web3.js","license":"LGPL-3.0","engines":{"node":">=8.0.0"},"main":"lib/index.js","bugs":{"url":"https://github.com/ethereum/web3.js/issues"},"keywords":["Ethereum","JavaScript","API"],"author":"ethereum.org","types":"types/index.d.ts","scripts":{"compile":"tsc -b tsconfig.json","dtslint":"dtslint --localTs ../../node_modules/typescript/lib types","postinstall":"echo \\"WARNING: the web3-shh and web3-bzz api will be deprecated in the next version\\""},"authors":[{"name":"Fabian Vogelsteller","email":"fabian@ethereum.org","homepage":"http://frozeman.de"},{"name":"Marek Kotewicz","email":"marek@parity.io","url":"https://github.com/debris"},{"name":"Marian Oancea","url":"https://github.com/cubedro"},{"name":"Gav Wood","email":"g@parity.io","homepage":"http://gavwood.com"},{"name":"Jeffery Wilcke","email":"jeffrey.wilcke@ethereum.org","url":"https://github.com/obscuren"}],"dependencies":{"web3-bzz":"1.5.1-rc.0","web3-core":"1.5.1-rc.0","web3-eth":"1.5.1-rc.0","web3-eth-personal":"1.5.1-rc.0","web3-net":"1.5.1-rc.0","web3-shh":"1.5.1-rc.0","web3-utils":"1.5.1-rc.0"},"devDependencies":{"@types/node":"^12.12.6","dtslint":"^3.4.1","typescript":"^3.9.5","web3-core-helpers":"1.5.1-rc.0"}}')},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(127).callbackify,o=r(11).errors,a=r(134),s=r(263),u=r(264),f=function t(e,r){this.provider=null,this.providers=t.providers,this.setProvider(e,r),this.subscriptions=new Map};f.givenProvider=u,f.providers={WebsocketProvider:r(265),HttpProvider:r(275),IpcProvider:r(291)},f.prototype.setProvider=function(t,e){var r=this;if(t&&"string"==typeof t&&this.providers)if(/^http(s)?:\/\//i.test(t))t=new this.providers.HttpProvider(t);else if(/^ws(s)?:\/\//i.test(t))t=new this.providers.WebsocketProvider(t);else if(t&&"object"===(0,n.default)(e)&&"function"==typeof e.connect)t=new this.providers.IpcProvider(t,e);else if(t)throw new Error("Can't autodetect provider for \""+t+'"');if(this.provider&&this.provider.connected&&this.clearSubscriptions(),this.provider=t||null,this.provider&&this.provider.on){"function"==typeof t.request?this.provider.on("message",(function(t){if(t&&"eth_subscription"===t.type&&t.data){var e=t.data;e.subscription&&r.subscriptions.has(e.subscription)&&r.subscriptions.get(e.subscription).callback(null,e.result)}})):this.provider.on("data",(function(t,e){(t=t||e).method&&t.params&&t.params.subscription&&r.subscriptions.has(t.params.subscription)&&r.subscriptions.get(t.params.subscription).callback(null,t.params.result)})),this.provider.on("connect",(function(){r.subscriptions.forEach((function(t){t.subscription.resubscribe()}))})),this.provider.on("error",(function(t){r.subscriptions.forEach((function(e){e.callback(t)}))}));var i=function(t){r._isCleanCloseEvent(t)&&!r._isIpcCloseError(t)||(r.subscriptions.forEach((function(e){e.callback(o.ConnectionCloseError(t)),r.subscriptions.delete(e.subscription.id)})),r.provider&&r.provider.emit&&r.provider.emit("error",o.ConnectionCloseError(t))),r.provider&&r.provider.emit&&r.provider.emit("end",t)};this.provider.on("close",i),this.provider.on("disconnect",i)}},f.prototype.send=function(t,e){if(e=e||function(){},!this.provider)return e(o.InvalidProvider());var r=t.method,n=t.params,s=a.toPayload(r,n),u=this._jsonrpcResultCallback(e,s);if(this.provider.request)i(this.provider.request.bind(this.provider))({method:r,params:n},e);else if(this.provider.sendAsync)this.provider.sendAsync(s,u);else{if(!this.provider.send)throw new Error("Provider does not have a request or send method to use.");this.provider.send(s,u)}},f.prototype.sendBatch=function(t,e){if(!this.provider)return e(o.InvalidProvider());var r=a.toBatchPayload(t);this.provider[this.provider.sendAsync?"sendAsync":"send"](r,(function(t,r){return t?e(t):Array.isArray(r)?void e(null,r):e(o.InvalidResponse(r))}))},f.prototype.addSubscription=function(t,e){if(!this.provider.on)throw new Error("The provider doesn't support subscriptions: "+this.provider.constructor.name);this.subscriptions.set(t.id,{callback:e,subscription:t})},f.prototype.removeSubscription=function(t,e){if(this.subscriptions.has(t)){var r=this.subscriptions.get(t).subscription.options.type;return this.subscriptions.delete(t),void this.send({method:r+"_unsubscribe",params:[t]},e)}"function"==typeof e&&e(null)},f.prototype.clearSubscriptions=function(t){try{var e=this;return this.subscriptions.size>0&&this.subscriptions.forEach((function(r,n){t&&"syncing"===r.name||e.removeSubscription(n)})),this.provider.reset&&this.provider.reset(),!0}catch(t){throw new Error("Error while clearing subscriptions: ".concat(t))}},f.prototype._isCleanCloseEvent=function(t){return"object"===(0,n.default)(t)&&([1e3].includes(t.code)||!0===t.wasClean)},f.prototype._isIpcCloseError=function(t){return"boolean"==typeof t&&t},f.prototype._jsonrpcResultCallback=function(t,e){return function(r,n){return n&&n.id&&e.id!==n.id?t(new Error("Wrong response id ".concat(n.id," (expected: ").concat(e.id,") in ").concat(JSON.stringify(e)))):r?t(r):n&&n.error?t(o.ErrorResponse(n)):a.isValidResponse(n)?void t(null,n.result):t(o.InvalidResponse(n))}},t.exports={Manager:f,BatchManager:s}},function(t,e,r){"use strict";var n=r(0)(r(2));t.exports=function(t){return t&&"object"===(0,n.default)(t)&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e,r){"use strict";"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},function(t,e,r){"use strict";var n=r(0)(r(2));t.exports={ErrorResponse:function(t){var e=t&&t.error&&t.error.message?t.error.message:JSON.stringify(t),r=t.error&&t.error.data?t.error.data:null,n=new Error("Returned error: "+e);return n.data=r,n},InvalidNumberOfParams:function(t,e,r){return new Error('Invalid number of parameters for "'+r+'". Got '+t+" expected "+e+"!")},InvalidConnection:function(t,e){return this.ConnectionError("CONNECTION ERROR: Couldn't connect to node "+t+".",e)},InvalidProvider:function(){return new Error("Provider not set or invalid")},InvalidResponse:function(t){var e=t&&t.error&&t.error.message?t.error.message:"Invalid JSON RPC response: "+JSON.stringify(t);return new Error(e)},ConnectionTimeout:function(t){return new Error("CONNECTION TIMEOUT: timeout of "+t+" ms achived")},ConnectionNotOpenError:function(t){return this.ConnectionError("connection not open on send()",t)},ConnectionCloseError:function(t){return"object"===(0,n.default)(t)&&t.code&&t.reason?this.ConnectionError("CONNECTION ERROR: The connection got closed with the close code `"+t.code+"` and the following reason string `"+t.reason+"`",t):new Error("CONNECTION ERROR: The connection closed unexpectedly")},MaxAttemptsReachedOnReconnectingError:function(){return new Error("Maximum number of reconnect attempts reached!")},PendingRequestsOnReconnectingError:function(){return new Error("CONNECTION ERROR: Provider started to reconnect before the response got received!")},ConnectionError:function(t,e){var r=new Error(t);return e&&(r.code=e.code,r.reason=e.reason),r},RevertInstructionError:function(t,e){var r=new Error("Your request got reverted with the following reason string: "+t);return r.reason=t,r.signature=e,r},TransactionRevertInstructionError:function(t,e,r){var n=new Error("Transaction has been reverted by the EVM:\n"+JSON.stringify(r,null,2));return n.reason=t,n.signature=e,n.receipt=r,n},TransactionError:function(t,e){var r=new Error(t);return r.receipt=e,r},NoContractAddressFoundError:function(t){return this.TransactionError("The transaction receipt didn't contain a contract address.",t)},ContractCodeNotStoredError:function(t){return this.TransactionError("The contract code couldn't be stored, please check your gas limit.",t)},TransactionRevertedWithoutReasonError:function(t){return this.TransactionError("Transaction has been reverted by the EVM:\n"+JSON.stringify(t,null,2),t)},TransactionOutOfGasError:function(t){return this.TransactionError("Transaction ran out of gas. Please provide more gas:\n"+JSON.stringify(t,null,2),t)},ResolverMethodMissingError:function(t,e){return new Error("The resolver at "+t+'does not implement requested method: "'+e+'".')},ContractMissingABIError:function(){return new Error("You must provide the json interface of the contract when instantiating a contract object.")},ContractOnceRequiresCallbackError:function(){return new Error("Once requires a callback as the second parameter.")},ContractEventDoesNotExistError:function(t){return new Error('Event "'+t+"\" doesn't exist in this contract.")},ContractReservedEventError:function(t){return new Error('The event "'+t+"\" is a reserved event name, you can't use it.")},ContractMissingDeployDataError:function(){return new Error('No "data" specified in neither the given options, nor the default options.')},ContractNoAddressDefinedError:function(){return new Error("This contract object doesn't have address set yet, please set an address first.")},ContractNoFromAddressDefinedError:function(){return new Error('No "from" address specified in neither the given options, nor the default options.')}}},function(t,e,r){"use strict";var n=r(0),i=n(r(58)),o=n(r(2));function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function s(t){for(var e=1;e2)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal points");var d=h[0],l=h[1];if(d||(d="0"),l||(l="0"),l.length>o)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal places");for(;l.length=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function f(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&o++,16===r?this._parseHex(t,o):this._parseBase(t,r,o),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),r,n)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(i("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=u(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=u(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?c[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],l=d[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(l).toString(t);r=(p=p.idivn(l)).isZero()?m+r:c[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function m(t,e,r){return(new b).mulp(t,e,r)}function b(t,e){this.x=t,this.y=e}Math.imul||(p=l),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?l(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},b.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new k(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){k.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},o(g,y),g.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},g.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new g;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return v[t]=e,e},k.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},k.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},k.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},k.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},k.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},k.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},k.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},k.prototype.isqr=function(t){return this.imul(t,t.clone())},k.prototype.sqr=function(t){return this.mul(t,t)},k.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},k.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},k.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new S(t)},o(S,k),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e,r){"use strict";e.byteLength=function(t){var e=f(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=f(t),a=n[0],s=n[1],u=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[c++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e);return u},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=0,s=r-i;as?s:a+16383));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e,r){"use strict"; -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */e.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,c=-7,h=r?i-1:0,d=r?-1:1,l=t[e+h];for(h+=d,o=l&(1<<-c)-1,l>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=d,c-=8);if(0===o)o=1-f;else{if(o===u)return a?NaN:1/0*(l?-1:1);a+=Math.pow(2,n),o-=f}return(l?-1:1)*a*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var a,s,u,f=8*o-i-1,c=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,l=n?0:o-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+l]=255&s,l+=p,s/=256,i-=8);for(a=a<0;t[r+l]=255&a,l+=p,a/=256,f-=8);t[r+l-p]|=128*m}},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2));!function(t,n){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"===(0,e.default)(t)?t.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s=r(1).Buffer}catch(t){}function u(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function f(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&o++,16===r?this._parseHex(t,o):this._parseBase(t,r,o),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),r,n)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(i("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=u(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=u(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?c[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],l=d[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(l).toString(t);r=(p=p.idivn(l)).isZero()?m+r:c[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function m(t,e,r){return(new b).mulp(t,e,r)}function b(t,e){this.x=t,this.y=e}Math.imul||(p=l),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?l(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},b.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new k(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){k.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},o(g,y),g.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},g.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new g;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return v[t]=e,e},k.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},k.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},k.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},k.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},k.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},k.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},k.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},k.prototype.isqr=function(t){return this.imul(t,t.clone())},k.prototype.sqr=function(t){return this.mul(t,t)},k.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},k.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},k.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new S(t)},o(S,k),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e){},function(t,e,r){"use strict"; -/*! https://mths.be/utf8js v3.0.0 by @mathias */!function(t){var e,r,n,i=String.fromCharCode;function o(t){for(var e,r,n=[],i=0,o=t.length;i=55296&&e<=56319&&i=55296&&t<=57343)throw Error("Lone surrogate U+"+t.toString(16).toUpperCase()+" is not a scalar value")}function s(t,e){return i(t>>e&63|128)}function u(t){if(0==(4294967168&t))return i(t);var e="";return 0==(4294965248&t)?e=i(t>>6&31|192):0==(4294901760&t)?(a(t),e=i(t>>12&15|224),e+=s(t,6)):0==(4292870144&t)&&(e=i(t>>18&7|240),e+=s(t,12),e+=s(t,6)),e+=i(63&t|128)}function f(){if(n>=r)throw Error("Invalid byte index");var t=255&e[n];if(n++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function c(){var t,i;if(n>r)throw Error("Invalid byte index");if(n==r)return!1;if(t=255&e[n],n++,0==(128&t))return t;if(192==(224&t)){if((i=(31&t)<<6|f())>=128)return i;throw Error("Invalid continuation byte")}if(224==(240&t)){if((i=(15&t)<<12|f()<<6|f())>=2048)return a(i),i;throw Error("Invalid continuation byte")}if(240==(248&t)&&(i=(7&t)<<18|f()<<12|f()<<6|f())>=65536&&i<=1114111)return i;throw Error("Invalid UTF-8 detected")}t.version="3.0.0",t.encode=function(t){for(var e=o(t),r=e.length,n=-1,i="";++n65535&&(o+=i((e-=65536)>>>10&1023|55296),e=56320|1023&e),o+=i(e);return o}(s)}}(e)},function(t,e,r){"use strict";var n=r(0)(r(2));Object.defineProperty(e,"__esModule",{value:!0});var i=r(260);function o(t){return"string"==typeof t&&(!!/^(0x)?[0-9a-f]{512}$/i.test(t)&&!(!/^(0x)?[0-9a-f]{512}$/.test(t)&&!/^(0x)?[0-9A-F]{512}$/.test(t)))}function a(t,e){"object"===(0,n.default)(e)&&e.constructor===Uint8Array&&(e=i.bytesToHex(e));for(var r=i.keccak256(e).replace("0x",""),o=0;o<12;o+=4){var a=(parseInt(r.substr(o,2),16)<<8)+parseInt(r.substr(o+2,2),16)&2047,u=1<=48&&t<=57)return t-48;if(t>=65&&t<=70)return t-55;if(t>=97&&t<=102)return t-87;throw new Error("invalid bloom")}function u(t){return"string"==typeof t&&(!!/^(0x)?[0-9a-f]{64}$/i.test(t)&&!(!/^(0x)?[0-9a-f]{64}$/.test(t)&&!/^(0x)?[0-9A-F]{64}$/.test(t)))}function f(t){return"string"==typeof t&&(!!t.match(/^(0x)?[0-9a-fA-F]{40}$/)||!!t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/))}e.isBloom=o,e.isInBloom=a,e.isUserEthereumAddressInBloom=function(t,e){if(!o(t))throw new Error("Invalid bloom given");if(!f(e))throw new Error('Invalid ethereum address given: "'.concat(e,'"'));return a(t,i.padLeft(e,64))},e.isContractAddressInBloom=function(t,e){if(!o(t))throw new Error("Invalid bloom given");if(!f(e))throw new Error('Invalid contract address given: "'.concat(e,'"'));return a(t,e)},e.isTopicInBloom=function(t,e){if(!o(t))throw new Error("Invalid bloom given");if(!u(e))throw new Error("Invalid topic");return a(t,e)},e.isTopic=u,e.isAddress=f},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(261);function i(t){if(null==t)throw new Error("cannot convert null value to array");if("string"==typeof t){var e=t.match(/^(0x)?[0-9a-fA-F]*$/);if(!e)throw new Error("invalid hexidecimal string");if("0x"!==e[1])throw new Error("hex string must have 0x prefix");(t=t.substring(2)).length%2&&(t="0"+t);for(var r=[],n=0;n=256||parseInt(String(r))!=r)return!1}return!0}(t))return o(new Uint8Array(t));throw new Error("invalid arrayify value")}function o(t){var e=arguments;return void 0!==t.slice||(t.slice=function(){var r=Array.prototype.slice.call(e);return o(new Uint8Array(Array.prototype.slice.apply(t,r)))}),t}e.keccak256=function(t){return"0x"+n.keccak_256(i(t))},e.padLeft=function(t,e){var r=/^0x/i.test(t)||"number"==typeof t,n=e-(t=t.toString().replace(/^0x/i,"")).length+1>=0?e-t.length+1:0;return(r?"0x":"")+new Array(n).join("0")+t},e.bytesToHex=function(t){for(var e=[],r=0;r>>4).toString(16)),e.push((15&t[r]).toString(16));return"0x".concat(e.join("").replace(/^0+/,""))},e.toByteArray=i},function(t,e,r){"use strict";(function(t,n,i){var o,a=r(0)(r(2)); +*/var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,u=a(t),f=1;f=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a},o=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseTransaction=void 0;var a=o(r(105)),s=r(26),u=r(43),f=function(){function t(t){this.activeCapabilities=[],this.DEFAULT_CHAIN="mainnet",this.DEFAULT_HARDFORK="istanbul";var e=t.nonce,r=t.gasLimit,n=t.to,i=t.value,o=t.data,a=t.v,u=t.r,f=t.s,c=t.type;this._type=new s.BN(s.toBuffer(c)).toNumber();var h=s.toBuffer(""===n?"0x":n),l=s.toBuffer(""===a?"0x":a),d=s.toBuffer(""===u?"0x":u),p=s.toBuffer(""===f?"0x":f);this.nonce=new s.BN(s.toBuffer(""===e?"0x":e)),this.gasLimit=new s.BN(s.toBuffer(""===r?"0x":r)),this.to=h.length>0?new s.Address(h):void 0,this.value=new s.BN(s.toBuffer(""===i?"0x":i)),this.data=s.toBuffer(""===o?"0x":o),this.v=l.length>0?new s.BN(l):void 0,this.r=d.length>0?new s.BN(d):void 0,this.s=p.length>0?new s.BN(p):void 0,this._validateCannotExceedMaxInteger({nonce:this.nonce,gasLimit:this.gasLimit,value:this.value,r:this.r,s:this.s})}return Object.defineProperty(t.prototype,"transactionType",{get:function(){return this.type},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),t.prototype.supports=function(t){return this.activeCapabilities.includes(t)},t.prototype.validate=function(t){void 0===t&&(t=!1);var e=[];return this.getBaseFee().gt(this.gasLimit)&&e.push("gasLimit is too low. given "+this.gasLimit+", need at least "+this.getBaseFee()),this.isSigned()&&!this.verifySignature()&&e.push("Invalid Signature"),t?e:0===e.length},t.prototype.getBaseFee=function(){var t=this.getDataFee().addn(this.common.param("gasPrices","tx"));return this.common.gteHardfork("homestead")&&this.toCreationAddress()&&t.iaddn(this.common.param("gasPrices","txCreation")),t},t.prototype.getDataFee=function(){for(var t=this.common.param("gasPrices","txDataZero"),e=this.common.param("gasPrices","txDataNonZero"),r=0,n=0;n-1&&this.activeCapabilities.splice(c,1)}return f},t.prototype._getCommon=function(t,e){var r;if(e){var n=new s.BN(s.toBuffer(e));if(t){if(!t.chainIdBN().eq(n))throw new Error("The chain ID does not match the chain ID of Common");return t.copy()}return a.default.isSupportedChainId(n)?new a.default({chain:n,hardfork:this.DEFAULT_HARDFORK}):a.default.forCustomChain(this.DEFAULT_CHAIN,{name:"custom-chain",networkId:n,chainId:n},this.DEFAULT_HARDFORK)}return null!==(r=null==t?void 0:t.copy())&&void 0!==r?r:new a.default({chain:this.DEFAULT_CHAIN,hardfork:this.DEFAULT_HARDFORK})},t.prototype._validateCannotExceedMaxInteger=function(t,e){var r,o;void 0===e&&(e=53);try{for(var a=n(Object.entries(t)),u=a.next();!u.done;u=a.next()){var f=i(u.value,2),c=f[0],h=f[1];if(53===e){if(null==h?void 0:h.gt(s.MAX_INTEGER))throw new Error(c+" cannot exceed MAX_INTEGER, given "+h)}else{if(256!==e)throw new Error("unimplemented bits value");if(null==h?void 0:h.gte(s.TWO_POW256))throw new Error(c+" must be less than 2^256, given "+h)}}}catch(t){r={error:t}}finally{try{u&&!u.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}},t}();e.BaseTransaction=f},function(t,e,r){"use strict";(function(t){var n,i=r(0)(r(2)),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(){return(a=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Hardfork=e.Chain=e.CustomChain=void 0;var u,f,c=r(23),h=r(450),l=r(26),d=r(451),p=r(458),m=r(471);!function(t){t.PolygonMainnet="polygon-mainnet",t.PolygonMumbai="polygon-mumbai",t.ArbitrumRinkebyTestnet="arbitrum-rinkeby-testnet",t.xDaiChain="x-dai-chain"}(u=e.CustomChain||(e.CustomChain={})),function(t){t[t.Mainnet=1]="Mainnet",t[t.Ropsten=3]="Ropsten",t[t.Rinkeby=4]="Rinkeby",t[t.Kovan=42]="Kovan",t[t.Goerli=5]="Goerli",t[t.Calaveras=123]="Calaveras"}(e.Chain||(e.Chain={})),function(t){t.Chainstart="chainstart",t.Homestead="homestead",t.Dao="dao",t.TangerineWhistle="tangerineWhistle",t.SpuriousDragon="spuriousDragon",t.Byzantium="byzantium",t.Constantinople="constantinople",t.Petersburg="petersburg",t.Istanbul="istanbul",t.MuirGlacier="muirGlacier",t.Berlin="berlin",t.London="london"}(f=e.Hardfork||(e.Hardfork={}));var b=function(e){function r(t){var r,n,i=e.call(this)||this;return i._supportedHardforks=[],i._eips=[],i._customChains=null!==(r=t.customChains)&&void 0!==r?r:[],i._chainParams=i.setChain(t.chain),i.DEFAULT_HARDFORK=null!==(n=i._chainParams.defaultHardfork)&&void 0!==n?n:f.Istanbul,i._hardfork=i.DEFAULT_HARDFORK,t.supportedHardforks&&(i._supportedHardforks=t.supportedHardforks),t.hardfork&&i.setHardfork(t.hardfork),t.eips&&i.setEIPs(t.eips),i}return o(r,e),r.custom=function(t,e){var n;void 0===e&&(e={});var i=null!==(n=e.baseChain)&&void 0!==n?n:"mainnet",o=a({},r._getChainParams(i));if(o.name="custom-chain","string"!=typeof t)return new r(a({chain:a(a({},o),t)},e));if(t===u.PolygonMainnet)return r.custom({name:u.PolygonMainnet,chainId:137,networkId:137});if(t===u.PolygonMumbai)return r.custom({name:u.PolygonMumbai,chainId:80001,networkId:80001});if(t===u.ArbitrumRinkebyTestnet)return r.custom({name:u.ArbitrumRinkebyTestnet,chainId:421611,networkId:421611});if(t===u.xDaiChain)return r.custom({name:u.xDaiChain,chainId:100,networkId:100});throw new Error("Custom chain "+t+" not supported")},r.forCustomChain=function(t,e,n,i){var o=r._getChainParams(t);return new r({chain:a(a({},o),e),hardfork:n,supportedHardforks:i})},r.isSupportedChainId=function(t){var e=d._getInitializedChains();return Boolean(e.names[t.toString()])},r._getChainParams=function(t,e){var r=d._getInitializedChains(e);if("number"==typeof t||l.BN.isBN(t)){if(t=t.toString(),r.names[t])return r[r.names[t]];throw new Error("Chain with ID "+t+" not supported")}if(r[t])return r[t];throw new Error("Chain with name "+t+" not supported")},r.prototype.setChain=function(t){var e,n;if("number"==typeof t||"string"==typeof t||l.BN.isBN(t))this._chainParams=r._getChainParams(t,this._customChains);else{if("object"!==(0,i.default)(t))throw new Error("Wrong input format");if(this._customChains.length>0)throw new Error("Chain must be a string, number, or BN when initialized with customChains passed in");try{for(var o=s(["networkId","genesis","hardforks","bootstrapNodes"]),a=o.next();!a.done;a=o.next()){var u=a.value;if(void 0===t[u])throw new Error("Missing required chain parameter: "+u)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}this._chainParams=t}return this._chainParams},r.prototype.setHardfork=function(t){var e,r;if(!this._isSupportedHardfork(t))throw new Error("Hardfork "+t+" not set as supported in supportedHardforks");var n=!1;try{for(var i=s(p.hardforks),o=i.next();!o.done;o=i.next()){o.value[0]===t&&(this._hardfork!==t&&(this._hardfork=t,this.emit("hardforkChanged",t)),n=!0)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}if(!n)throw new Error("Hardfork with name "+t+" not supported")},r.prototype.getHardforkByBlockNumber=function(t){var e,r;t=l.toType(t,l.TypeOutput.BN);var n=f.Chainstart;try{for(var i=s(this.hardforks()),o=i.next();!o.done;o=i.next()){var a=o.value;null!==a.block&&(t.gte(new l.BN(a.block))&&(n=a.name))}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n},r.prototype.setHardforkByBlockNumber=function(t){t=l.toType(t,l.TypeOutput.BN);var e=this.getHardforkByBlockNumber(t);return this.setHardfork(e),e},r.prototype._chooseHardfork=function(t,e){if(void 0===e&&(e=!0),t){if(e&&!this._isSupportedHardfork(t))throw new Error("Hardfork "+t+" not set as supported in supportedHardforks")}else t=this._hardfork;return t},r.prototype._getHardfork=function(t){var e,r,n=this.hardforks();try{for(var i=s(n),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.name===t)return a}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}throw new Error("Hardfork "+t+" not defined for chain "+this.chainName())},r.prototype._isSupportedHardfork=function(t){var e,r;if(!(this._supportedHardforks.length>0))return!0;try{for(var n=s(this._supportedHardforks),i=n.next();!i.done;i=n.next()){if(t===i.value)return!0}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return!1},r.prototype.setEIPs=function(t){var e,r,n=this;void 0===t&&(t=[]);var i=function(e){if(!(e in m.EIPs))throw new Error(e+" not supported");var r=o.gteHardfork(m.EIPs[e].minimumHardfork);if(!r)throw new Error(e+" cannot be activated on hardfork "+o.hardfork()+", minimumHardfork: "+r);m.EIPs[e].requiredEIPs&&m.EIPs[e].requiredEIPs.forEach((function(r){if(!t.includes(r)&&!n.isActivatedEIP(r))throw new Error(e+" requires EIP "+r+", but is not included in the EIP list")}))},o=this;try{for(var a=s(t),u=a.next();!u.done;u=a.next()){i(u.value)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}this._eips=t},r.prototype.param=function(t,e){var r,n,i=null;try{for(var o=s(this._eips),a=o.next();!a.done;a=o.next()){var u=a.value;if(null!==(i=this.paramByEIP(t,e,u)))return i}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return this.paramByHardfork(t,e,this._hardfork)},r.prototype.paramByHardfork=function(t,e,r){var n,i,o,a;r=this._chooseHardfork(r);var u=null;try{for(var f=s(p.hardforks),c=f.next();!c.done;c=f.next()){var h=c.value;if(h[1].hasOwnProperty("eips")){var l=h[1].eips;try{for(var d=(o=void 0,s(l)),m=d.next();!m.done;m=d.next()){var b=m.value,v=this.paramByEIP(t,e,b);u=null!==v?v:u}}catch(t){o={error:t}}finally{try{m&&!m.done&&(a=d.return)&&a.call(d)}finally{if(o)throw o.error}}}else{if(!h[1][t])throw new Error("Topic "+t+" not defined");void 0!==h[1][t][e]&&(u=h[1][t][e].v)}if(h[0]===r)break}}catch(t){n={error:t}}finally{try{c&&!c.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}return u},r.prototype.paramByEIP=function(t,e,r){if(!(r in m.EIPs))throw new Error(r+" not supported");var n=m.EIPs[r];if(!(t in n))throw new Error("Topic "+t+" not defined");return void 0===n[t][e]?null:n[t][e].v},r.prototype.paramByBlock=function(t,e,r){var n=this.activeHardforks(r),i=n[n.length-1].name;return this.paramByHardfork(t,e,i)},r.prototype.isActivatedEIP=function(t){var e,r;if(this.eips().includes(t))return!0;try{for(var n=s(p.hardforks),i=n.next();!i.done;i=n.next()){var o=i.value[1];if(this.gteHardfork(o.name)&&"eips"in o&&o.eips.includes(t))return!0}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return!1},r.prototype.hardforkIsActiveOnBlock=function(t,e,r){var n;void 0===r&&(r={}),e=l.toType(e,l.TypeOutput.BN);var i=null!==(n=r.onlySupported)&&void 0!==n&&n;t=this._chooseHardfork(t,i);var o=this.hardforkBlockBN(t);return!(!o||!e.gte(o))},r.prototype.activeOnBlock=function(t,e){return this.hardforkIsActiveOnBlock(null,t,e)},r.prototype.hardforkGteHardfork=function(t,e,r){var n,i;void 0===r&&(r={});var o,a=void 0!==r.onlyActive&&r.onlyActive;t=this._chooseHardfork(t,r.onlySupported),o=a?this.activeHardforks(null,r):this.hardforks();var u=-1,f=-1,c=0;try{for(var h=s(o),l=h.next();!l.done;l=h.next()){var d=l.value;d.name===t&&(u=c),d.name===e&&(f=c),c+=1}}catch(t){n={error:t}}finally{try{l&&!l.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}return u>=f&&-1!==f},r.prototype.gteHardfork=function(t,e){return this.hardforkGteHardfork(null,t,e)},r.prototype.hardforkIsActiveOnChain=function(t,e){var r,n,i;void 0===e&&(e={});var o=null!==(i=e.onlySupported)&&void 0!==i&&i;t=this._chooseHardfork(t,o);try{for(var a=s(this.hardforks()),u=a.next();!u.done;u=a.next()){var f=u.value;if(f.name===t&&null!==f.block)return!0}}catch(t){r={error:t}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return!1},r.prototype.activeHardforks=function(t,e){var r,n;void 0===e&&(e={});var i=[],o=this.hardforks();try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var f=u.value;if(null!==f.block){if(null!=t&&t0)return r[r.length-1].name;throw new Error("No (supported) active hardfork found")},r.prototype.hardforkBlock=function(t){return l.toType(this.hardforkBlockBN(t),l.TypeOutput.Number)},r.prototype.hardforkBlockBN=function(t){return t=this._chooseHardfork(t,!1),new l.BN(this._getHardfork(t).block)},r.prototype.isHardforkBlock=function(t,e){return t=l.toType(t,l.TypeOutput.BN),e=this._chooseHardfork(e,!1),this.hardforkBlockBN(e).eq(t)},r.prototype.nextHardforkBlock=function(t){var e=this.nextHardforkBlockBN(t);return null===e?null:l.toType(e,l.TypeOutput.Number)},r.prototype.nextHardforkBlockBN=function(t){t=this._chooseHardfork(t,!1);var e=this.hardforkBlockBN(t);return this.hardforks().reduce((function(t,r){var n=new l.BN(r.block);return n.gt(e)&&null===t?n:t}),null)},r.prototype.isNextHardforkBlock=function(t,e){t=l.toType(t,l.TypeOutput.BN),e=this._chooseHardfork(e,!1);var r=this.nextHardforkBlockBN(e);return null!==r&&r.eq(t)},r.prototype._calcForkHash=function(e){var r,n,i=t.from(this.genesis().hash.substr(2),"hex"),o=t.alloc(0),a=0;try{for(var u=s(this.hardforks()),f=u.next();!f.done;f=u.next()){var c=f.value,d=c.block;if(0!==d&&null!==d&&d!==a){var p=t.from(d.toString(16).padStart(16,"0"),"hex");o=t.concat([o,p])}if(c.name===e)break;a=d}}catch(t){r={error:t}}finally{try{f&&!f.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var m=t.concat([i,o]);return"0x"+l.intToBuffer(h.buf(m)>>>0).toString("hex")},r.prototype.forkHash=function(t){t=this._chooseHardfork(t,!1);var e=this._getHardfork(t);if(null===e.block){throw new Error("No fork hash calculation possible for non-applied or future hardfork")}return void 0!==e.forkHash?e.forkHash:this._calcForkHash(t)},r.prototype.hardforkForForkHash=function(t){var e=this.hardforks().filter((function(e){return e.forkHash===t}));return e.length>=1?e[e.length-1]:null},r.prototype.genesis=function(){return this._chainParams.genesis},r.prototype.hardforks=function(){return this._chainParams.hardforks},r.prototype.bootstrapNodes=function(){return this._chainParams.bootstrapNodes},r.prototype.dnsNetworks=function(){return this._chainParams.dnsNetworks},r.prototype.hardfork=function(){return this._hardfork},r.prototype.chainId=function(){return l.toType(this.chainIdBN(),l.TypeOutput.Number)},r.prototype.chainIdBN=function(){return new l.BN(this._chainParams.chainId)},r.prototype.chainName=function(){return this._chainParams.name},r.prototype.networkId=function(){return l.toType(this.networkIdBN(),l.TypeOutput.Number)},r.prototype.networkIdBN=function(){return new l.BN(this._chainParams.networkId)},r.prototype.eips=function(){return this._eips},r.prototype.consensusType=function(){return this._chainParams.consensus.type},r.prototype.consensusAlgorithm=function(){return this._chainParams.consensus.algorithm},r.prototype.consensusConfig=function(){return this._chainParams.consensus[this.consensusAlgorithm()]},r.prototype.copy=function(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)},r}(c.EventEmitter);e.default=b}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2)),i=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},n=0;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(r)?n.showHidden=r:r&&e._extend(n,r),g(n.showHidden)&&(n.showHidden=!1),g(n.depth)&&(n.depth=2),g(n.colors)&&(n.colors=!1),g(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),h(n,t,n.depth)}function f(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function c(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&S(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=h(t,i,n)),i}var o=function(t,e){if(g(e))return t.stylize("undefined","undefined");if(y(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(m(e))return t.stylize(""+e,"boolean");if(b(e))return t.stylize("null","null")}(t,r);if(o)return o;var a=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(r)),M(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return l(r);if(0===a.length){if(S(r)){var u=r.name?": "+r.name:"";return t.stylize("[Function"+u+"]","special")}if(w(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(k(r))return t.stylize(Date.prototype.toString.call(r),"date");if(M(r))return l(r)}var f,c="",_=!1,A=["{","}"];(p(r)&&(_=!0,A=["[","]"]),S(r))&&(c=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(c=" "+RegExp.prototype.toString.call(r)),k(r)&&(c=" "+Date.prototype.toUTCString.call(r)),M(r)&&(c=" "+l(r)),0!==a.length||_&&0!=r.length?n<0?w(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),f=_?function(t,e,r,n,i){for(var o=[],a=0,s=e.length;a=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(f,c,A)):A[0]+c+A[1]}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),P(n,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=b(r)?h(t,u.value,null):h(t,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),g(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function p(t){return Array.isArray(t)}function m(t){return"boolean"==typeof t}function b(t){return null===t}function v(t){return"number"==typeof t}function y(t){return"string"==typeof t}function g(t){return void 0===t}function w(t){return _(t)&&"[object RegExp]"===A(t)}function _(t){return"object"===(0,n.default)(t)&&null!==t}function k(t){return _(t)&&"[object Date]"===A(t)}function M(t){return _(t)&&("[object Error]"===A(t)||t instanceof Error)}function S(t){return"function"==typeof t}function A(t){return Object.prototype.toString.call(t)}function x(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(g(a)&&(a=t.env.NODE_DEBUG||""),r=r.toUpperCase(),!s[r])if(new RegExp("\\b"+r+"\\b","i").test(a)){var n=t.pid;s[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,n,t)}}else s[r]=function(){};return s[r]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=p,e.isBoolean=m,e.isNull=b,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=y,e.isSymbol=function(t){return"symbol"===(0,n.default)(t)},e.isUndefined=g,e.isRegExp=w,e.isObject=_,e.isDate=k,e.isError=M,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===(0,n.default)(t)||void 0===t},e.isBuffer=r(207);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(){var t=new Date,e=[x(t.getHours()),x(t.getMinutes()),x(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function P(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",O(),e.format.apply(e,arguments))},e.inherits=r(208),e._extend=function(t,e){if(!e||!_(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var B="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function T(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(B&&t[B]){var e;if("function"!=typeof(e=t[B]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,B,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],o=0;o7&&t[r].toUpperCase()!==t[r]||parseInt(e[r],16)<=7&&t[r].toLowerCase()!==t[r])return!1;return!0},p=function(t){var e="";t=(t=(t=(t=(t=a.encode(t)).replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var r=0;r>>4).toString(16)),e.push((15&t[r]).toString(16));return"0x"+e.join("")},isHex:w,isHexStrict:g,stripHexPrefix:function(t){return 0!==t&&w(t)?t.replace(/^(-)?0x/i,"$1"):t},leftPad:function(t,e,r){var n=/^0x/i.test(t)||"number"==typeof t,i=e-(t=t.toString(16).replace(/^0x/i,"")).length+1>=0?e-t.length+1:0;return(n?"0x":"")+new Array(i).join(r||"0")+t},rightPad:function(t,e,r){var n=/^0x/i.test(t)||"number"==typeof t,i=e-(t=t.toString(16).replace(/^0x/i,"")).length+1>=0?e-t.length+1:0;return(n?"0x":"")+t+new Array(i).join(r||"0")},toTwosComplement:function(t){return"0x"+h(t).toTwos(256).toString(16,64)},sha3:k,sha3Raw:function(t){return null===(t=k(t))?_:t},toNumber:function(t){return"number"==typeof t?t:m(y(t))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=r(0),i=n(r(5)),o=n(r(9)),a=r(16),s=r(8),u=function(t){var e="A".charCodeAt(0),r="Z".charCodeAt(0);return(t=(t=t.toUpperCase()).substr(4)+t.substr(0,4)).split("").map((function(t){var n=t.charCodeAt(0);return n>=e&&n<=r?n-e+10:t})).join("")},f=function(t){for(var e,r=t;r.length>2;)e=r.slice(0,9),r=parseInt(e,10)%97+r.slice(e.length);return parseInt(r,10)%97},c=function(){function t(e){(0,i.default)(this,t),this._iban=e}return(0,o.default)(t,[{key:"isValid",value:function(){return/^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30,31})$/.test(this._iban)&&1===f(u(this._iban))}},{key:"isDirect",value:function(){return 34===this._iban.length||35===this._iban.length}},{key:"isIndirect",value:function(){return 20===this._iban.length}},{key:"checksum",value:function(){return this._iban.substr(2,2)}},{key:"institution",value:function(){return this.isIndirect()?this._iban.substr(7,4):""}},{key:"client",value:function(){return this.isIndirect()?this._iban.substr(11):""}},{key:"toAddress",value:function(){if(this.isDirect()){var t=this._iban.substr(4),e=new s(t,36);return a.toChecksumAddress(e.toString(16,20))}return""}},{key:"toString",value:function(){return this._iban}}],[{key:"toAddress",value:function(e){if(!(e=new t(e)).isDirect())throw new Error("IBAN is indirect and can't be converted");return e.toAddress()}},{key:"toIban",value:function(e){return t.fromAddress(e).toString()}},{key:"fromAddress",value:function(e){if(!a.isAddress(e))throw new Error("Provided address is not a valid address: "+e);e=e.replace("0x","").replace("0X","");var r=function(t,e){for(var r=t;r.length<2*e;)r="0"+r;return r}(new s(e,16).toString(36),15);return t.fromBban(r.toUpperCase())}},{key:"fromBban",value:function(e){return new t("XE"+("0"+(98-f(u("XE00"+e)))).slice(-2)+e)}},{key:"createIndirect",value:function(e){return t.fromBban("ETH"+e.institution+e.identifier)}},{key:"isValid",value:function(e){return new t(e).isValid()}}]),t}();t.exports=c},function(t,e,r){"use strict";var n={messageId:0,toPayload:function(t,e){if(!t)throw new Error('JSONRPC method should be specified for params: "'+JSON.stringify(e)+'"!');return n.messageId++,{jsonrpc:"2.0",id:n.messageId,method:t,params:e||[]}},isValidResponse:function(t){return Array.isArray(t)?t.every(e):e(t);function e(t){return!(!t||t.error||"2.0"!==t.jsonrpc||"number"!=typeof t.id&&"string"!=typeof t.id||void 0===t.result)}},toBatchPayload:function(t){return t.map((function(t){return n.toPayload(t.method,t.params)}))}};t.exports=n},function(t,e,r){"use strict";(function(t,n){var i,o=r(0)(r(2));!function(a){var s="object"==(0,o.default)(e)&&e&&!e.nodeType&&e,u="object"==(0,o.default)(t)&&t&&!t.nodeType&&t,f="object"==(void 0===n?"undefined":(0,o.default)(n))&&n;f.global!==f&&f.window!==f&&f.self!==f||(a=f);var c,h,l=2147483647,d=/^xn--/,p=/[^\x20-\x7E]/,m=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=Math.floor,y=String.fromCharCode;function g(t){throw new RangeError(b[t])}function w(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function _(t,e){var r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+w((t=t.replace(m,".")).split("."),e).join(".")}function k(t){for(var e,r,n=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=y((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=y(t)})).join("")}function S(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function A(t,e,r){var n=0;for(t=r?v(t/700):t>>1,t+=v(t/e);t>455;n+=36)t=v(t/35);return v(n+36*t/(t+38))}function x(t){var e,r,n,i,o,a,s,u,f,c,h,d=[],p=t.length,m=0,b=128,y=72;for((r=t.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&g("not-basic"),d.push(t.charCodeAt(n));for(i=r>0?r+1:0;i=p&&g("invalid-input"),((u=(h=t.charCodeAt(i++))-48<10?h-22:h-65<26?h-65:h-97<26?h-97:36)>=36||u>v((l-m)/a))&&g("overflow"),m+=u*a,!(u<(f=s<=y?1:s>=y+26?26:s-y));s+=36)a>v(l/(c=36-f))&&g("overflow"),a*=c;y=A(m-o,e=d.length+1,0==o),v(m/e)>l-b&&g("overflow"),b+=v(m/e),m%=e,d.splice(m++,0,b)}return M(d)}function E(t){var e,r,n,i,o,a,s,u,f,c,h,d,p,m,b,w=[];for(d=(t=k(t)).length,e=128,r=0,o=72,a=0;a=e&&hv((l-r)/(p=n+1))&&g("overflow"),r+=(s-e)*p,e=s,a=0;al&&g("overflow"),h==e){for(u=r,f=36;!(u<(c=f<=o?1:f>=o+26?26:f-o));f+=36)b=u-c,m=36-c,w.push(y(S(c+b%m,0))),u=v(b/m);w.push(y(S(u,0))),o=A(r,p,n==i),r=0,++n}++r,++e}return w.join("")}if(c={version:"1.4.1",ucs2:{decode:k,encode:M},decode:x,encode:E,toASCII:function(t){return _(t,(function(t){return p.test(t)?"xn--"+E(t):t}))},toUnicode:function(t){return _(t,(function(t){return d.test(t)?x(t.slice(4).toLowerCase()):t}))}},"object"==(0,o.default)(r(72))&&r(72))void 0===(i=function(){return c}.call(e,r,e,t))||(t.exports=i);else if(s&&u)if(t.exports==s)u.exports=c;else for(h in c)c.hasOwnProperty(h)&&(s[h]=c[h]);else a.punycode=c}(void 0)}).call(this,r(17)(t),r(7))},function(t,e,r){"use strict";(function(t){e.fetch=s(t.fetch)&&s(t.ReadableStream),e.writableStream=s(t.WritableStream),e.abortController=s(t.AbortController),e.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),e.blobConstructor=!0}catch(t){}var r;function n(){if(void 0!==r)return r;if(t.XMLHttpRequest){r=new t.XMLHttpRequest;try{r.open("GET",t.XDomainRequest?"/":"https://example.com")}catch(t){r=null}}else r=null;return r}function i(t){var e=n();if(!e)return!1;try{return e.responseType=t,e.responseType===t}catch(t){}return!1}var o=void 0!==t.ArrayBuffer,a=o&&s(t.ArrayBuffer.prototype.slice);function s(t){return"function"==typeof t}e.arraybuffer=e.fetch||o&&i("arraybuffer"),e.msstream=!e.fetch&&a&&i("ms-stream"),e.mozchunkedarraybuffer=!e.fetch&&o&&i("moz-chunked-arraybuffer"),e.overrideMimeType=e.fetch||!!n()&&s(n().overrideMimeType),e.vbArray=s(t.VBArray),r=null}).call(this,r(7))},function(t,e,r){"use strict";(function(t,n,i){var o=r(115),a=r(3),s=r(46),u=e.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},f=e.IncomingMessage=function(e,r,a,u){var f=this;if(s.Readable.call(f),f._mode=a,f.headers={},f.rawHeaders=[],f.trailers={},f.rawTrailers=[],f.on("end",(function(){t.nextTick((function(){f.emit("close")}))})),"fetch"===a){if(f._fetchResponse=r,f.url=r.url,f.statusCode=r.status,f.statusMessage=r.statusText,r.headers.forEach((function(t,e){f.headers[e.toLowerCase()]=t,f.rawHeaders.push(e,t)})),o.writableStream){var c=new WritableStream({write:function(t){return new Promise((function(e,r){f._destroyed?r():f.push(new i(t))?e():f._resumeFetch=e}))},close:function(){n.clearTimeout(u),f._destroyed||f.push(null)},abort:function(t){f._destroyed||f.emit("error",t)}});try{return void r.body.pipeTo(c).catch((function(t){n.clearTimeout(u),f._destroyed||f.emit("error",t)}))}catch(t){}}var h=r.body.getReader();!function t(){h.read().then((function(e){if(!f._destroyed){if(e.done)return n.clearTimeout(u),void f.push(null);f.push(new i(e.value)),t()}})).catch((function(t){n.clearTimeout(u),f._destroyed||f.emit("error",t)}))}()}else{if(f._xhr=e,f._pos=0,f.url=e.responseURL,f.statusCode=e.status,f.statusMessage=e.statusText,e.getAllResponseHeaders().split(/\r?\n/).forEach((function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var r=e[1].toLowerCase();"set-cookie"===r?(void 0===f.headers[r]&&(f.headers[r]=[]),f.headers[r].push(e[2])):void 0!==f.headers[r]?f.headers[r]+=", "+e[2]:f.headers[r]=e[2],f.rawHeaders.push(e[1],e[2])}})),f._charset="x-user-defined",!o.overrideMimeType){var l=f.rawHeaders["mime-type"];if(l){var d=l.match(/;\s*charset=([^;])(;|$)/);d&&(f._charset=d[1].toLowerCase())}f._charset||(f._charset="utf-8")}}};a(f,s.Readable),f.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t())},f.prototype._onXHRProgress=function(){var t=this,e=t._xhr,r=null;switch(t._mode){case"text:vbarray":if(e.readyState!==u.DONE)break;try{r=new n.VBArray(e.responseBody).toArray()}catch(t){}if(null!==r){t.push(new i(r));break}case"text":try{r=e.responseText}catch(e){t._mode="text:vbarray";break}if(r.length>t._pos){var o=r.substr(t._pos);if("x-user-defined"===t._charset){for(var a=new i(o.length),s=0;st._pos&&(t.push(new i(new Uint8Array(f.result.slice(t._pos)))),t._pos=f.result.byteLength)},f.onload=function(){t.push(null)},f.readAsArrayBuffer(r)}t._xhr.readyState===u.DONE&&"ms-stream"!==t._mode&&t.push(null)}}).call(this,r(6),r(7),r(1).Buffer)},function(t,e,r){"use strict";(function(e,n){var i=r(56);t.exports=g;var o,a=r(107);g.ReadableState=y;r(23).EventEmitter;var s=function(t,e){return t.listeners(e).length},u=r(118),f=r(4).Buffer,c=e.Uint8Array||function(){};var h=Object.create(r(47));h.inherits=r(3);var l=r(238),d=void 0;d=l&&l.debuglog?l.debuglog("stream"):function(){};var p,m=r(239),b=r(119);h.inherits(g,u);var v=["error","close","destroy","pause","resume"];function y(t,e){t=t||{};var n=e instanceof(o=o||r(28));this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,a=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=r(29).StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function g(t){if(o=o||r(28),!(this instanceof g))return new g(t);this._readableState=new y(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),u.call(this)}function w(t,e,r,n,i){var o,a=t._readableState;null===e?(a.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,M(t)}(t,a)):(i||(o=function(t,e){var r;n=e,f.isBuffer(n)||n instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var n;return r}(a,e)),o?t.emit("error",o):a.objectMode||e&&e.length>0?("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===f.prototype||(e=function(t){return f.from(t)}(e)),n?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):_(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?_(t,a,e,!1):A(t,a)):_(t,a,e,!1))):n||(a.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=8388608?t=8388608:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function M(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(d("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(S,t):S(t))}function S(t){d("emit readable"),t.emit("readable"),P(t)}function A(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(x,t,e))}function x(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var n;to.length?o.length:t;if(a===o.length?i+=o:i+=o.slice(0,t),0===(t-=a)){a===o.length?(++n,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(a));break}++n}return e.length-=n,i}(t,e):function(t,e){var r=f.allocUnsafe(t),n=e.head,i=1;n.data.copy(r),t-=n.data.length;for(;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),0===(t-=a)){a===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(a));break}++i}return e.length-=i,r}(t,e);return n}(t,e.buffer,e.decoder),r);var r}function T(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(R,e,t))}function R(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function I(t,e){for(var r=0,n=t.length;r=e.highWaterMark||e.ended))return d("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?T(this):M(this),null;if(0===(t=k(t,e))&&e.ended)return 0===e.length&&T(this),null;var n,i=e.needReadable;return d("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&T(this)),null!==n&&this.emit("data",n),n},g.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},g.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,d("pipe count=%d opts=%j",o.pipesCount,e);var u=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:g;function f(e,n){d("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,d("cleanup"),t.removeListener("close",v),t.removeListener("finish",y),t.removeListener("drain",h),t.removeListener("error",b),t.removeListener("unpipe",f),r.removeListener("end",c),r.removeListener("end",g),r.removeListener("data",m),l=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function c(){d("onend"),t.end()}o.endEmitted?i.nextTick(u):r.once("end",u),t.on("unpipe",f);var h=function(t){return function(){var e=t._readableState;d("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,P(t))}}(r);t.on("drain",h);var l=!1;var p=!1;function m(e){d("ondata"),p=!1,!1!==t.write(e)||p||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==I(o.pipes,t))&&!l&&(d("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,p=!0),r.pause())}function b(e){d("onerror",e),g(),t.removeListener("error",b),0===s(t,"error")&&t.emit("error",e)}function v(){t.removeListener("finish",y),g()}function y(){d("onfinish"),t.removeListener("close",v),g()}function g(){d("unpipe"),r.unpipe(t)}return r.on("data",m),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?a(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",b),t.once("close",v),t.once("finish",y),t.emit("pipe",r),o.flowing||(d("pipe resume"),r.resume()),t},g.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r(241),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||void 0,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||void 0}).call(this,r(7))},function(t,e,r){"use strict";t.exports=a;var n=r(28),i=Object.create(r(47));function o(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.lengtht.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(10===arguments[0]?d||(d=!0,h.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?h.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",u.Logger.errors.UNEXPECTED_ARGUMENT,{}):h.throwError("BigNumber.toString does not accept parameters",u.Logger.errors.UNEXPECTED_ARGUMENT,{})),v(this).toString(10)}},{key:"toHexString",value:function(){return this._hex}},{key:"toJSON",value:function(t){return{type:"BigNumber",hex:this.toHexString()}}}],[{key:"from",value:function(e){if(e instanceof t)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new t(l,m(e)):e.match(/^-?[0-9]+$/)?new t(l,m(new c(e))):h.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&y("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&y("overflow","BigNumber.from",e),t.from(String(e));var r=e;if("bigint"==typeof r)return t.from(r.toString());if((0,s.isBytes)(r))return t.from((0,s.hexlify)(r));if(r)if(r.toHexString){var n=r.toHexString();if("string"==typeof n)return t.from(n)}else{var i=r._hex;if(null==i&&"BigNumber"===r.type&&(i=r.hex),"string"==typeof i&&((0,s.isHexString)(i)||"-"===i[0]&&(0,s.isHexString)(i.substring(1))))return t.from(i)}return h.throwArgumentError("invalid BigNumber value","value",e)}},{key:"isBigNumber",value:function(t){return!(!t||!t._isBigNumber)}}]),t}();function m(t){if("string"!=typeof t)return m(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&h.throwArgumentError("invalid hex","value",t),"0x00"===(t=m(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function b(t){return p.from(m(t))}function v(t){var e=p.from(t).toHexString();return"-"===e[0]?new c("-"+e.substring(3),16):new c(e.substring(2),16)}function y(t,e,r){var n={fault:t,operation:e};return null!=r&&(n.value=r),h.throwError(t,u.Logger.errors.NUMERIC_FAULT,n)}e.BigNumber=p},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="bignumber/5.1.1"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encode=function(t){return(0,n.hexlify)(function t(e){if(Array.isArray(e)){var r=[];if(e.forEach((function(e){r=r.concat(t(e))})),r.length<=55)return r.unshift(192+r.length),r;var i=s(r.length);return i.unshift(247+i.length),i.concat(r)}(0,n.isBytesLike)(e)||a.throwArgumentError("RLP object must be BytesLike","object",e);var o=Array.prototype.slice.call((0,n.arrayify)(e));if(1===o.length&&o[0]<=127)return o;if(o.length<=55)return o.unshift(128+o.length),o;var u=s(o.length);return u.unshift(183+u.length),u.concat(o)}(t))},e.decode=function(t){var e=(0,n.arrayify)(t),r=c(e,0);r.consumed!==e.length&&a.throwArgumentError("invalid rlp data","data",t);return r.result};var n=r(11),i=r(12),o=r(263),a=new i.Logger(o.version);function s(t){for(var e=[];t;)e.unshift(255&t),t>>=8;return e}function u(t,e,r){for(var n=0,i=0;ie+1+n&&a.throwError("child data too short",i.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:o}}function c(t,e){if(0===t.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),t[e]>=248){var r=t[e]-247;e+1+r>t.length&&a.throwError("data short segment too short",i.Logger.errors.BUFFER_OVERRUN,{});var o=u(t,e+1,r);return e+1+r+o>t.length&&a.throwError("data long segment too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(t,e,e+1+r,r+o)}if(t[e]>=192){var s=t[e]-192;return e+1+s>t.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),f(t,e,e+1,s)}if(t[e]>=184){var c=t[e]-183;e+1+c>t.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{});var h=u(t,e+1,c);return e+1+c+h>t.length&&a.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+c+h,result:(0,n.hexlify)(t.slice(e+1+c,e+1+c+h))}}if(t[e]>=128){var l=t[e]-128;return e+1+l>t.length&&a.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+l,result:(0,n.hexlify)(t.slice(e+1,e+1+l))}}return{consumed:1,result:(0,n.hexlify)(t[e])}}},function(t,e,r){"use strict";var n=r(21).rotr32;function i(t,e,r){return t&e^~t&r}function o(t,e,r){return t&e^t&r^e&r}function a(t,e,r){return t^e^r}e.ft_1=function(t,e,r,n){return 0===t?i(e,r,n):1===t||3===t?a(e,r,n):2===t?o(e,r,n):void 0},e.ch32=i,e.maj32=o,e.p32=a,e.s0_256=function(t){return n(t,2)^n(t,13)^n(t,22)},e.s1_256=function(t){return n(t,6)^n(t,11)^n(t,25)},e.g0_256=function(t){return n(t,7)^n(t,18)^t>>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},function(t,e,r){"use strict";var n=r(21),i=r(49),o=r(129),a=r(18),s=n.sum32,u=n.sum32_4,f=n.sum32_5,c=o.ch32,h=o.maj32,l=o.s0_256,d=o.s1_256,p=o.g0_256,m=o.g1_256,b=i.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}n.inherits(y,b),t.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n0&&t.topics.length!==n+1&&(e={anonymous:!0,inputs:[]})}var i=e.anonymous?t.topics:t.topics.slice(1);return r.returnValues=m.decodeLog(e.inputs,t.data,i),delete r.returnValues.__length__,r.event=e.name,r.signature=e.anonymous||!t.topics[0]?null:t.topics[0],r.raw={data:r.data,topics:r.topics},delete r.data,delete r.topics,r},b.prototype._encodeMethodABI=function(){var t=this._method.signature,e=this.arguments||[],r=!1,n=this._parent.options.jsonInterface.filter((function(e){return"constructor"===t&&e.type===t||(e.signature===t||e.signature===t.replace("0x","")||e.name===t)&&"function"===e.type})).map((function(t){var n=Array.isArray(t.inputs)?t.inputs.length:0;if(n!==e.length)throw new Error("The number of arguments is not matching the methods required number. You need to pass "+n+" arguments.");return"function"===t.type&&(r=t.signature),Array.isArray(t.inputs)?t.inputs:[]})).map((function(t){return m.encodeParameters(t,e).replace("0x","")}))[0]||"";if("constructor"===t){if(!this._deployData)throw new Error("The contract has no contract data option set. This is necessary to append the constructor parameters.");return this._deployData.startsWith("0x")||(this._deployData="0x"+this._deployData),this._deployData+n}var i=r?r+n:n;if(!i)throw new Error("Couldn't find a matching contract method named \""+this._method.name+'".');return i},b.prototype._decodeMethodReturn=function(t,e){if(!e)return null;e=e.length>=2?e.slice(2):e;var r=m.decodeParameters(t,e);return 1===r.__length__?r[0]:(delete r.__length__,r)},b.prototype.deploy=function(t,e){if((t=t||{}).arguments=t.arguments||[],!(t=this._getOrSetDefaultOptions(t)).data){if("function"==typeof e)return e(d.ContractMissingDeployDataError());throw d.ContractMissingDeployDataError()}var r=this.options.jsonInterface.find((function(t){return"constructor"===t.type}))||{};return r.signature="constructor",this._createTxObject.apply({method:r,parent:this,deployData:t.data,_ethAccounts:this.constructor._ethAccounts},t.arguments)},b.prototype._generateEventOptions=function(){var t=Array.prototype.slice.call(arguments),e=this._getCallback(t),r="object"===(!!t[t.length-1]&&(0,o.default)(t[t.length-1]))?t.pop():{},n="string"==typeof t[0]?t[0]:"allevents",i="allevents"===n.toLowerCase()?{name:"ALLEVENTS",jsonInterface:this.options.jsonInterface}:this.options.jsonInterface.find((function(t){return"event"===t.type&&(t.name===n||t.signature==="0x"+n.replace("0x",""))}));if(!i)throw d.ContractEventDoesNotExistError(n);if(!c.isAddress(this.options.address))throw d.ContractNoAddressDefinedError();return{params:this._encodeEventABI(i,r),event:i,callback:e}},b.prototype.clone=function(){return new this.constructor(this.options.jsonInterface,this.options.address,this.options)},b.prototype.once=function(t,e,r){var n=Array.prototype.slice.call(arguments);if(!(r=this._getCallback(n)))throw d.ContractOnceRequiresCallbackError();e&&delete e.fromBlock,this._on(t,e,(function(t,e,n){n.unsubscribe(),"function"==typeof r&&r(t,e,n)}))},b.prototype._on=function(){var t=this._generateEventOptions.apply(this,arguments);t.params&&t.params.toBlock&&(delete t.params.toBlock,console.warn("Invalid option: toBlock. Use getPastEvents for specific range.")),this._checkListener("newListener",t.event.name),this._checkListener("removeListener",t.event.name);var e=new h({subscription:{params:1,inputFormatter:[l.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(t.event),subscriptionHandler:function(t){t.removed?this.emit("changed",t):this.emit("data",t),"function"==typeof this.callback&&this.callback(null,t,this)}},type:"eth",requestManager:this._requestManager});return e.subscribe("logs",t.params,t.callback||function(){}),e},b.prototype.getPastEvents=function(){var t=this._generateEventOptions.apply(this,arguments),e=new f({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[l.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(t.event)});e.setRequestManager(this._requestManager);var r=e.buildCall();return e=null,r(t.params,t.callback)},b.prototype._createTxObject=function(){var t=Array.prototype.slice.call(arguments),e={};if("function"===this.method.type&&(e.call=this.parent._executeMethod.bind(e,"call"),e.call.request=this.parent._executeMethod.bind(e,"call",!0)),e.send=this.parent._executeMethod.bind(e,"send"),e.send.request=this.parent._executeMethod.bind(e,"send",!0),e.encodeABI=this.parent._encodeMethodABI.bind(e),e.estimateGas=this.parent._executeMethod.bind(e,"estimate"),t&&this.method.inputs&&t.length!==this.method.inputs.length){if(this.nextMethod)return this.nextMethod.apply(null,t);throw d.InvalidNumberOfParams(t.length,this.method.inputs.length,this.method.name)}return e.arguments=t||[],e._method=this.method,e._parent=this.parent,e._ethAccounts=this.parent.constructor._ethAccounts||this._ethAccounts,this.deployData&&(e._deployData=this.deployData),e},b.prototype._processExecuteArguments=function(t,e){var r={};if(r.type=t.shift(),r.callback=this._parent._getCallback(t),"call"!==r.type||!0===t[t.length-1]||"string"!=typeof t[t.length-1]&&!isFinite(t[t.length-1])||(r.defaultBlock=t.pop()),r.options="object"===(!!t[t.length-1]&&(0,o.default)(t[t.length-1]))?t.pop():{},r.generateRequest=!0===t[t.length-1]&&t.pop(),r.options=this._parent._getOrSetDefaultOptions(r.options),r.options.data=this.encodeABI(),!this._deployData&&!c.isAddress(this._parent.options.address))throw d.ContractNoAddressDefinedError();return this._deployData||(r.options.to=this._parent.options.address),r.options.data?r:c._fireError(new Error("Couldn't find a matching contract method, or the number of parameters is wrong."),e.eventEmitter,e.reject,r.callback)},b.prototype._executeMethod=function(){var t=this,e=this._parent._processExecuteArguments.call(this,Array.prototype.slice.call(arguments),r),r=p("send"!==e.type),n=t.constructor._ethAccounts||t._ethAccounts;if(e.generateRequest){var i={params:[l.inputCallFormatter.call(this._parent,e.options)],callback:e.callback};return"call"===e.type?(i.params.push(l.inputDefaultBlockNumberFormatter.call(this._parent,e.defaultBlock)),i.method="eth_call",i.format=this._parent._decodeMethodReturn.bind(null,this._method.outputs)):i.method="eth_sendTransaction",i}switch(e.type){case"estimate":var o=new f({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[l.inputCallFormatter],outputFormatter:c.hexToNumber,requestManager:t._parent._requestManager,accounts:n,defaultAccount:t._parent.defaultAccount,defaultBlock:t._parent.defaultBlock}).createFunction();return o(e.options,e.callback);case"call":var a=new f({name:"call",call:"eth_call",params:2,inputFormatter:[l.inputCallFormatter,l.inputDefaultBlockNumberFormatter],outputFormatter:function(e){return t._parent._decodeMethodReturn(t._method.outputs,e)},requestManager:t._parent._requestManager,accounts:n,defaultAccount:t._parent.defaultAccount,defaultBlock:t._parent.defaultBlock,handleRevert:t._parent.handleRevert,abiCoder:m}).createFunction();return a(e.options,e.defaultBlock,e.callback);case"send":if(!c.isAddress(e.options.from))return c._fireError(d.ContractNoFromAddressDefinedError(),r.eventEmitter,r.reject,e.callback);if("boolean"==typeof this._method.payable&&!this._method.payable&&e.options.value&&e.options.value>0)return c._fireError(new Error("Can not send value to non-payable contract method or constructor"),r.eventEmitter,r.reject,e.callback);var s={receiptFormatter:function(e){if(Array.isArray(e.logs)){var r=e.logs.map((function(e){return t._parent._decodeEventABI.call({name:"ALLEVENTS",jsonInterface:t._parent.options.jsonInterface},e)}));e.events={};var n=0;r.forEach((function(t){t.event?e.events[t.event]?Array.isArray(e.events[t.event])?e.events[t.event].push(t):e.events[t.event]=[e.events[t.event],t]:e.events[t.event]=t:(e.events[n]=t,n++)})),delete e.logs}return e},contractDeployFormatter:function(e){var r=t._parent.clone();return r.options.address=e.contractAddress,r}},u=new f({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[l.inputTransactionFormatter],requestManager:t._parent._requestManager,accounts:t.constructor._ethAccounts||t._ethAccounts,defaultAccount:t._parent.defaultAccount,defaultBlock:t._parent.defaultBlock,transactionBlockTimeout:t._parent.transactionBlockTimeout,transactionConfirmationBlocks:t._parent.transactionConfirmationBlocks,transactionPollingTimeout:t._parent.transactionPollingTimeout,defaultCommon:t._parent.defaultCommon,defaultChain:t._parent.defaultChain,defaultHardfork:t._parent.defaultHardfork,handleRevert:t._parent.handleRevert,extraFormatters:s,abiCoder:m}).createFunction();return u(e.options,e.callback);default:throw new Error('Method "'+e.type+'" not implemented.')}},t.exports=b},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(1).Buffer,o=r(16),a=r(135).AbiCoder,s=r(135).ParamType,u=new a((function(t,e){return!t.match(/^u?int/)||Array.isArray(e)||e&&"object"===(0,n.default)(e)&&"BN"===e.constructor.name?e:e.toString()}));function f(){}var c=function(){};c.prototype.encodeFunctionSignature=function(t){return("function"==typeof t||"object"===(0,n.default)(t)&&t)&&(t=o._jsonInterfaceMethodToString(t)),o.sha3(t).slice(0,10)},c.prototype.encodeEventSignature=function(t){return("function"==typeof t||"object"===(0,n.default)(t)&&t)&&(t=o._jsonInterfaceMethodToString(t)),o.sha3(t)},c.prototype.encodeParameter=function(t,e){return this.encodeParameters([t],[e])},c.prototype.encodeParameters=function(t,e){var r=this;return t=r.mapTypes(t),e=e.map((function(e,i){var o=t[i];if("object"===(0,n.default)(o)&&o.type&&(o=o.type),e=r.formatParam(o,e),"string"==typeof o&&o.includes("tuple")){!function t(e,n){if("array"===e.name)return n.map((function(r){return t(u._getCoder(s.from(e.type.replace("[]",""))),r)}));e.coders.forEach((function(e,i){"tuple"===e.name?t(e,n[i]):n[i]=r.formatParam(e.name,n[i])}))}(u._getCoder(s.from(o)),e)}return e})),u.encode(t,e)},c.prototype.mapTypes=function(t){var e=this,r=[];return t.forEach((function(t){if("object"===(0,n.default)(t)&&"function"===t.type&&(t=Object.assign({},t,{type:"bytes24"})),e.isSimplifiedStructFormat(t)){var i=Object.keys(t)[0];r.push(Object.assign(e.mapStructNameAndType(i),{components:e.mapStructToCoderFormat(t[i])}))}else r.push(t)})),r},c.prototype.isSimplifiedStructFormat=function(t){return"object"===(0,n.default)(t)&&void 0===t.components&&void 0===t.name},c.prototype.mapStructNameAndType=function(t){var e="tuple";return t.indexOf("[]")>-1&&(e="tuple[]",t=t.slice(0,-2)),{type:e,name:t}},c.prototype.mapStructToCoderFormat=function(t){var e=this,r=[];return Object.keys(t).forEach((function(i){"object"!==(0,n.default)(t[i])?r.push({name:i,type:t[i]}):r.push(Object.assign(e.mapStructNameAndType(i),{components:e.mapStructToCoderFormat(t[i])}))})),r},c.prototype.formatParam=function(t,e){var r=this,n=new RegExp(/^bytes([0-9]*)$/),a=new RegExp(/^bytes([0-9]*)\[\]$/),s=new RegExp(/^(u?int)([0-9]*)$/),u=new RegExp(/^(u?int)([0-9]*)\[\]$/);if(o.isBN(e)||o.isBigNumber(e))return e.toString(10);if(t.match(a)||t.match(u))return e.map((function(e){return r.formatParam(t.replace("[]",""),e)}));var f=t.match(s);if(f){var c=parseInt(f[2]||"256");c/80&&(!e||"0x"===e||"0X"===e))throw new Error("Returned values aren't valid, did it run Out of Gas? You might also see this error if you are not using the correct ABI for the contract you are retrieving data from, requesting data from a block number that does not exist, or querying a node which is not fully synced.");var i=u.decode(this.mapTypes(t),"0x"+e.replace(/0x/i,""),r),o=new f;return o.__length__=0,t.forEach((function(t,e){var r=i[o.__length__];r="0x"===r?null:r,o[e]=r,("function"==typeof t||t&&"object"===(0,n.default)(t))&&t.name&&(o[t.name]=r),o.__length__++})),o},c.prototype.decodeLog=function(t,e,r){var n=this;r=Array.isArray(r)?r:[r],e=e||"";var i=[],o=[],a=0;t.forEach((function(t,e){t.indexed?(o[e]=["bool","int","uint","address","fixed","ufixed"].find((function(e){return-1!==t.type.indexOf(e)}))?n.decodeParameter(t.type,r[a]):r[a],a++):i[e]=t}));var s=e,u=s?this.decodeParametersWith(i,s,!0):[],c=new f;return c.__length__=0,t.forEach((function(t,e){c[e]="string"===t.type?"":null,void 0!==u[e]&&(c[e]=u[e]),void 0!==o[e]&&(c[e]=o[e]),t.name&&(c[t.name]=c[e]),c.__length__++})),c};var h=new c;t.exports=h},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"ConstructorFragment",{enumerable:!0,get:function(){return n.ConstructorFragment}}),Object.defineProperty(e,"EventFragment",{enumerable:!0,get:function(){return n.EventFragment}}),Object.defineProperty(e,"FormatTypes",{enumerable:!0,get:function(){return n.FormatTypes}}),Object.defineProperty(e,"Fragment",{enumerable:!0,get:function(){return n.Fragment}}),Object.defineProperty(e,"FunctionFragment",{enumerable:!0,get:function(){return n.FunctionFragment}}),Object.defineProperty(e,"ParamType",{enumerable:!0,get:function(){return n.ParamType}}),Object.defineProperty(e,"AbiCoder",{enumerable:!0,get:function(){return i.AbiCoder}}),Object.defineProperty(e,"defaultAbiCoder",{enumerable:!0,get:function(){return i.defaultAbiCoder}}),Object.defineProperty(e,"checkResultErrors",{enumerable:!0,get:function(){return o.checkResultErrors}}),Object.defineProperty(e,"Indexed",{enumerable:!0,get:function(){return o.Indexed}}),Object.defineProperty(e,"Interface",{enumerable:!0,get:function(){return o.Interface}}),Object.defineProperty(e,"LogDescription",{enumerable:!0,get:function(){return o.LogDescription}}),Object.defineProperty(e,"TransactionDescription",{enumerable:!0,get:function(){return o.TransactionDescription}});var n=r(80),i=r(138),o=r(296)},function(t,e,r){"use strict";function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},t.exports.default=t.exports,t.exports.__esModule=!0,n(e,r)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.defaultAbiCoder=e.AbiCoder=void 0;var i=n(r(5)),o=n(r(9)),a=r(11),s=r(33),u=r(12),f=r(50),c=r(20),h=r(284),l=r(139),d=r(286),p=r(140),m=r(288),b=r(289),v=r(290),y=r(291),g=r(295),w=r(80),_=new u.Logger(f.version),k=new RegExp(/^bytes([0-9]*)$/),M=new RegExp(/^(u?int)([0-9]*)$/),S=function(){function t(e){(0,i.default)(this,t),_.checkNew(this instanceof t?this.constructor:void 0,t),(0,s.defineReadOnly)(this,"coerceFunc",e||null)}return(0,o.default)(t,[{key:"_getCoder",value:function(t){var e=this;switch(t.baseType){case"address":return new h.AddressCoder(t.name);case"bool":return new d.BooleanCoder(t.name);case"string":return new y.StringCoder(t.name);case"bytes":return new p.BytesCoder(t.name);case"array":return new l.ArrayCoder(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new g.TupleCoder((t.components||[]).map((function(t){return e._getCoder(t)})),t.name);case"":return new b.NullCoder(t.name)}var r=t.type.match(M);if(r){var n=parseInt(r[2]||"256");return(0===n||n>256||n%8!=0)&&_.throwArgumentError("invalid "+r[1]+" bit length","param",t),new v.NumberCoder(n/8,"int"===r[1],t.name)}if(r=t.type.match(k)){var i=parseInt(r[1]);return(0===i||i>32)&&_.throwArgumentError("invalid bytes length","param",t),new m.FixedBytesCoder(i,t.name)}return _.throwArgumentError("invalid type","type",t.type)}},{key:"_getWordSize",value:function(){return 32}},{key:"_getReader",value:function(t,e){return new c.Reader(t,this._getWordSize(),this.coerceFunc,e)}},{key:"_getWriter",value:function(){return new c.Writer(this._getWordSize())}},{key:"encode",value:function(t,e){var r=this;t.length!==e.length&&_.throwError("types/values length mismatch",u.Logger.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});var n=t.map((function(t){return r._getCoder(w.ParamType.from(t))})),i=new g.TupleCoder(n,"_"),o=this._getWriter();return i.encode(o,e),o.data}},{key:"decode",value:function(t,e,r){var n=this,i=t.map((function(t){return n._getCoder(w.ParamType.from(t))}));return new g.TupleCoder(i,"_").decode(this._getReader((0,a.arrayify)(e),r))}}]),t}();e.AbiCoder=S;var A=new S;e.defaultAbiCoder=A},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.pack=b,e.unpack=v,e.ArrayCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13)),f=n(r(2)),c=r(12),h=r(50),l=r(20),d=r(285);function p(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var m=new c.Logger(h.version);function b(t,e,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"===(0,f.default)(r)){var i={};n=e.map((function(t){var e=t.localName;return e||m.throwError("cannot encode object for signature with missing names",c.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]&&m.throwError("cannot encode object for signature with duplicate names",c.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]=!0,r[e]}))}else m.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&m.throwArgumentError("types/value length mismatch","tuple",r);var o=new l.Writer(t.wordSize),a=new l.Writer(t.wordSize),s=[];e.forEach((function(t,e){var r=n[e];if(t.dynamic){var i=a.length;t.encode(a,r);var u=o.writeUpdatableValue();s.push((function(t){u(t+i)}))}else t.encode(o,r)})),s.forEach((function(t){t(o.length)}));var u=t.appendWriter(o);return u+=t.appendWriter(a)}function v(t,e){var r=[],n=t.subReader(0);e.forEach((function(e){var i=null;if(e.dynamic){var o=t.readValue(),a=n.subReader(o.toNumber());try{i=e.decode(a)}catch(t){if(t.code===c.Logger.errors.BUFFER_OVERRUN)throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}}else try{i=e.decode(t)}catch(t){if(t.code===c.Logger.errors.BUFFER_OVERRUN)throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}null!=i&&r.push(i)}));var i=e.reduce((function(t,e){var r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t}),{});e.forEach((function(t,e){var n=t.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==r[n])){var o=r[e];o instanceof Error?Object.defineProperty(r,n,{get:function(){throw o}}):r[n]=o}}));for(var o=function(t){var e=r[t];e instanceof Error&&Object.defineProperty(r,t,{get:function(){throw e}})},a=0;a=0?n:"")+"]",u=-1===n||t.dynamic;return(a=e.call(this,"array",s,o,u)).coder=t,a.length=n,a}return(0,o.default)(r,[{key:"encode",value:function(t,e){Array.isArray(e)||this._throwError("expected array value",e);var r=this.length;-1===r&&(r=e.length,t.writeValue(e.length)),m.checkArgumentCount(e.length,r,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i=0;i--){var s=n(a[i]);r=n(new t(r+s,"hex"))}}return"0x"+r},e.normalize=o}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(e){var n=r(51);function i(t){return parseInt(t.toString("hex"),16)}function o(t){var r=t.toString(16);return r.length%2==1&&(r="0"+r),e.from(r,"hex")}t.exports={numberToBuffer:o,bufferToNumber:i,varintBufferEncode:function(t){return e.from(n.encode(i(t)))},varintBufferDecode:function(t){return o(n.decode(t))},varintEncode:function(t){return e.from(n.encode(t))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=r(0),i=n(r(5)),o=n(r(9)),a=r(1).Buffer,s=r(82),u=r(325),f=r(331),c=r(52),h=r(336),l=r(337)(function(){function t(e,r,n,o){if((0,i.default)(this,t),l.isCID(e)){var c=e;return this.version=c.version,this.codec=c.codec,this.multihash=a.from(c.multihash),void(this.multibaseName=c.multibaseName||(0===c.version?"base58btc":"base32"))}if("string"==typeof e){var h=u.isEncoded(e);if(h){var d=u.decode(e);this.version=parseInt(d.slice(0,1).toString("hex"),16),this.codec=f.getCodec(d.slice(1)),this.multihash=f.rmPrefix(d.slice(1)),this.multibaseName=h}else this.version=0,this.codec="dag-pb",this.multihash=s.fromB58String(e),this.multibaseName="base58btc";return t.validateCID(this),void Object.defineProperty(this,"string",{value:e})}if(a.isBuffer(e)){var p=e.slice(0,1),m=parseInt(p.toString("hex"),16);if(1===m){var b=e;this.version=m,this.codec=f.getCodec(b.slice(1)),this.multihash=f.rmPrefix(b.slice(1)),this.multibaseName="base32"}else this.version=0,this.codec="dag-pb",this.multihash=e,this.multibaseName="base58btc";t.validateCID(this)}else this.version=e,this.codec=r,this.multihash=n,this.multibaseName=o||(0===e?"base58btc":"base32"),t.validateCID(this)}return(0,o.default)(t,[{key:"buffer",get:function(){var t=this._buffer;if(!t){if(0===this.version)t=this.multihash;else{if(1!==this.version)throw new Error("unsupported version");t=a.concat([a.from("01","hex"),f.getCodeVarint(this.codec),this.multihash])}Object.defineProperty(this,"_buffer",{value:t})}return t}},{key:"prefix",get:function(){return a.concat([a.from("0".concat(this.version),"hex"),f.getCodeVarint(this.codec),s.prefix(this.multihash)])}},{key:"toV0",value:function(){if("dag-pb"!==this.codec)throw new Error("Cannot convert a non dag-pb CID to CIDv0");var t=s.decode(this.multihash),e=t.name,r=t.length;if("sha2-256"!==e)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");if(32!==r)throw new Error("Cannot convert non 32 byte multihash CID to CIDv0");return new l(0,this.codec,this.multihash)}},{key:"toV1",value:function(){return new l(1,this.codec,this.multihash)}},{key:"toBaseEncodedString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.multibaseName;if(this.string&&t===this.multibaseName)return this.string;var e=null;if(0===this.version){if("base58btc"!==t)throw new Error("not supported with CIDv0, to support different bases, please migrate the instance do CIDv1, you can do that through cid.toV1()");e=s.toB58String(this.multihash)}else{if(1!==this.version)throw new Error("unsupported version");e=u.encode(t,this.buffer).toString()}return t===this.multibaseName&&Object.defineProperty(this,"string",{value:e}),e}},{key:Symbol.for("nodejs.util.inspect.custom"),value:function(){return"CID("+this.toString()+")"}},{key:"toString",value:function(t){return this.toBaseEncodedString(t)}},{key:"toJSON",value:function(){return{codec:this.codec,version:this.version,hash:this.multihash}}},{key:"equals",value:function(t){return this.codec===t.codec&&this.version===t.version&&this.multihash.equals(t.multihash)}}],[{key:"validateCID",value:function(t){var e=h.checkCIDComponents(t);if(e)throw new Error(e)}}]),t}(),{className:"CID",symbolName:"@ipld/js-cid/CID"});l.codecs=c,t.exports=l},function(t,e,r){"use strict";var n=r(4).Buffer;t.exports=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r>>0,c=new Uint8Array(a);t[r];){var h=e[t.charCodeAt(r)];if(255===h)return;for(var l=0,d=a-1;(0!==h||l>>0,c[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw new Error("Non-zero carry");o=l,r++}if(" "!==t[r]){for(var p=a-o;p!==a&&0===c[p];)p++;var m=n.allocUnsafe(i+(a-p));m.fill(0,0,i);for(var b=i;p!==a;)m[b++]=c[p++];return m}}}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=n.from(e)),!n.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,i=0,o=0,a=e.length;o!==a&&0===e[o];)o++,r++;for(var f=(a-o)*c+1>>>0,h=new Uint8Array(f);o!==a;){for(var l=e[o],d=0,p=f-1;(0!==l||d>>0,h[p]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");i=d,o++}for(var m=f-i;m!==f&&0===h[m];)m++;for(var b=u.repeat(r);m>6|192);else{if(i>55295&&i<56320){if(++n==t.length)return null;var o=t.charCodeAt(n);if(o<56320||o>57343)return null;r+=e((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=e(i>>12&63|128)}else r+=e(i>>12|224);r+=e(i>>6&63|128)}r+=e(63&i|128)}}return r},toString:function(t){for(var e="",r=0,o=i(t);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(t,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(t,r))<<6|63&n(t,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(t,r))<<12|(63&n(t,++r))<<6|63&n(t,++r)}++r}if(a<=65535)e+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,e+=String.fromCharCode(a>>10|55296),e+=String.fromCharCode(1023&a|56320)}}return e},fromNumber:function(t){var e=t.toString(16);return e.length%2==0?"0x"+e:"0x0"+e},toNumber:function(t){return parseInt(t.slice(2),16)},fromNat:function(t){return"0x0"===t?"0x":t.length%2==0?t:"0x0"+t.slice(2)},toNat:function(t){return"0"===t[2]?"0x"+t.slice(3):t},fromArray:a,toArray:o,fromUint8Array:function(t){return a([].slice.call(t,0))},toUint8Array:function(t){return new Uint8Array(o(t))}}},function(t,e,r){"use strict";var n=r(348).Buffer,i=r(349).Transform;function o(t){i.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(3)(o,i),o.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},o.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},o.prototype.update=function(t,e){if(function(t,e){if(!n.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");n.isBuffer(t)||(t=n.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var o=this._blockOffset;o0;++a)this._length[a]+=s,(s=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*s);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},function(t,e,r){"use strict";(function(e,n){var i;t.exports=A,A.ReadableState=S;r(23).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=r(153),s=r(1).Buffer,u=e.Uint8Array||function(){};var f,c=r(350);f=c&&c.debuglog?c.debuglog("stream"):function(){};var h,l,d,p=r(351),m=r(154),b=r(155).getHighWaterMark,v=r(37).codes,y=v.ERR_INVALID_ARG_TYPE,g=v.ERR_STREAM_PUSH_AFTER_EOF,w=v.ERR_METHOD_NOT_IMPLEMENTED,_=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(3)(A,a);var k=m.errorOrDestroy,M=["error","close","destroy","pause","resume"];function S(t,e,n){i=i||r(38),t=t||{},"boolean"!=typeof n&&(n=e instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b(this,t,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(h||(h=r(29).StringDecoder),this.decoder=new h(t.encoding),this.encoding=t.encoding)}function A(t){if(i=i||r(38),!(this instanceof A))return new A(t);var e=this instanceof i;this._readableState=new S(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function x(t,e,r,n,i){f("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(f("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,B(t)))}(t,a);else if(i||(o=function(t,e){var r;n=e,s.isBuffer(n)||n instanceof u||"string"==typeof e||void 0===e||t.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],e));var n;return r}(a,e)),o)k(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)a.endEmitted?k(t,new _):E(t,a,e,!0);else if(a.ended)k(t,new g);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):T(t,a)):E(t,a,e,!1)}else n||(a.reading=!1,T(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function P(t){var e=t._readableState;f("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(B,t))}function B(t){var e=t._readableState;f("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function T(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(R,t,e))}function R(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function C(t){f("readable nexttick read 0"),t.read(0)}function U(t,e){f("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(f("flow",e.flowing);e.flowing&&null!==t.read(););}function N(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function L(t){var e=t._readableState;f("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(F,e,t))}function F(t,e){if(f("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function D(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?L(this):P(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&L(this),null;var n,i=e.needReadable;return f("need readable",i),(0===e.length||e.length-t0?N(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&L(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){k(this,new w("_read()"))},A.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,e);var a=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?u:b;function s(e,n){f("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",c),t.removeListener("error",d),t.removeListener("unpipe",s),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",l),h=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}function u(){f("onend"),t.end()}i.endEmitted?n.nextTick(a):r.once("end",a),t.on("unpipe",s);var c=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,j(t))}}(r);t.on("drain",c);var h=!1;function l(e){f("ondata");var n=t.write(e);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==D(i.pipes,t))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function d(e){f("onerror",e),b(),t.removeListener("error",d),0===o(t,"error")&&k(t,e)}function p(){t.removeListener("finish",m),b()}function m(){f("onfinish"),t.removeListener("close",p),b()}function b(){f("unpipe"),r.unpipe(t)}return r.on("data",l),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",d),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?P(this):i.reading||n.nextTick(C,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(I,this),r},A.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(I,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(f("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(U,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,T(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this,r(7),r(6))},function(t,e,r){"use strict";t.exports=c;var n=r(37).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,u=r(38);function f(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function l(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function d(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,p=0|this._f,m=0|this._g,b=0|this._h,v=0;v<16;++v)r[v]=t.readInt32BE(4*v);for(;v<64;++v)r[v]=0|(((e=r[v-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[v-7]+d(r[v-15])+r[v-16];for(var y=0;y<64;++y){var g=b+l(u)+f(u,p,m)+a[y]+r[y]|0,w=h(n)+c(n,i,o)|0;b=m,m=p,p=u,u=s+g|0,s=o,o=i,i=n,n=g+w|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(39),o=r(4).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function u(){this.init(),this._w=s,i.call(this,128,112)}function f(t,e,r){return r^t&(e^r)}function c(t,e,r){return t&e|r&(t|e)}function h(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function l(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function d(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function b(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function v(t,e){return t>>>0>>0?1:0}n(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,u=0|this._fh,y=0|this._gh,g=0|this._hh,w=0|this._al,_=0|this._bl,k=0|this._cl,M=0|this._dl,S=0|this._el,A=0|this._fl,x=0|this._gl,E=0|this._hl,O=0;O<32;O+=2)e[O]=t.readInt32BE(4*O),e[O+1]=t.readInt32BE(4*O+4);for(;O<160;O+=2){var P=e[O-30],B=e[O-30+1],T=d(P,B),R=p(B,P),I=m(P=e[O-4],B=e[O-4+1]),C=b(B,P),U=e[O-14],j=e[O-14+1],N=e[O-32],L=e[O-32+1],F=R+j|0,D=T+U+v(F,R)|0;D=(D=D+I+v(F=F+C|0,C)|0)+N+v(F=F+L|0,L)|0,e[O]=D,e[O+1]=F}for(var q=0;q<160;q+=2){D=e[q],F=e[q+1];var H=c(r,n,i),z=c(w,_,k),K=h(r,w),G=h(w,r),V=l(s,S),W=l(S,s),Z=a[q],J=a[q+1],X=f(s,u,y),Y=f(S,A,x),$=E+W|0,Q=g+V+v($,E)|0;Q=(Q=(Q=Q+X+v($=$+Y|0,Y)|0)+Z+v($=$+J|0,J)|0)+D+v($=$+F|0,F)|0;var tt=G+z|0,et=K+H+v(tt,G)|0;g=y,E=x,y=u,x=A,u=s,A=S,s=o+Q+v(S=M+$|0,M)|0,o=i,M=k,i=n,k=_,n=r,_=w,r=Q+et+v(w=$+tt|0,$)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+k|0,this._dl=this._dl+M|0,this._el=this._el+S|0,this._fl=this._fl+A|0,this._gl=this._gl+x|0,this._hl=this._hl+E|0,this._ah=this._ah+r+v(this._al,w)|0,this._bh=this._bh+n+v(this._bl,_)|0,this._ch=this._ch+i+v(this._cl,k)|0,this._dh=this._dh+o+v(this._dl,M)|0,this._eh=this._eh+s+v(this._el,S)|0,this._fh=this._fh+u+v(this._fl,A)|0,this._gh=this._gh+y+v(this._gl,x)|0,this._hh=this._hh+g+v(this._hl,E)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(365),o=r(25),a=r(4).Buffer,s=r(161),u=r(85),f=r(86),c=a.alloc(128);function h(t,e){o.call(this,"digest"),"string"==typeof e&&(e=a.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new u:f(t)).update(e).digest():e.lengthn||e!=e)throw new TypeError("Bad key length")}},function(t,e,r){"use strict";(function(e,r){var n;if(e.process&&e.process.browser)n="utf-8";else if(e.process&&e.process.version){n=parseInt(r.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else n="utf-8";t.exports=n}).call(this,r(7),r(6))},function(t,e,r){"use strict";var n=r(161),i=r(85),o=r(86),a=r(4).Buffer,s=r(164),u=r(165),f=r(167),c=a.alloc(128),h={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(t,e,r){var s=function(t){function e(e){return o(t).update(e).digest()}return"rmd160"===t||"ripemd160"===t?function(t){return(new i).update(t).digest()}:"md5"===t?n:e}(t),u="sha512"===t||"sha384"===t?128:64;e.length>u?e=s(e):e.length>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,n){for(var i=0,o=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},e.rip=function(t,e,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)i<<=1,i|=e>>>s+a&1,i<<=1,i|=t>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=e>>>s+a&1,o<<=1,o|=t>>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},e.pc1=function(t,e,r,n){for(var i=0,o=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1}for(s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},e.r28shl=function(t,e){return t<>>28-e};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,r,i){for(var o=0,a=0,s=n.length>>>1,u=0;u>>n[u]&1;for(u=s;u>>n[u]&1;r[i+0]=o>>>0,r[i+1]=a>>>0},e.expand=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)i|=t>>>o&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(t>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(e>>>18-6*n&63)]}return r>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r>>o[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var n=t.toString(2);n.length>>1];r=o.r28shl(r,s),i=o.r28shl(i,s),o.pc2(r,i,t.keys,a)}},u.prototype._update=function(t,e,r,n){var i=this._desState,a=o.readUInt32BE(t,e),s=o.readUInt32BE(t,e+4);o.ip(a,s,i.tmp,0),a=i.tmp[0],s=i.tmp[1],"encrypt"===this.type?this._encrypt(i,a,s,i.tmp,0):this._decrypt(i,a,s,i.tmp,0),a=i.tmp[0],s=i.tmp[1],o.writeUInt32BE(r,a,n),o.writeUInt32BE(r,s,n+4)},u.prototype._pad=function(t,e){for(var r=t.length-e,n=e;n>>0,a=l}o.rip(s,a,n,i)},u.prototype._decrypt=function(t,e,r,n,i){for(var a=r,s=e,u=t.keys.length-2;u>=0;u-=2){var f=t.keys[u],c=t.keys[u+1];o.expand(a,t.tmp,0),f^=t.tmp[0],c^=t.tmp[1];var h=o.substitute(f,c),l=a;a=(s^o.permute(h))>>>0,s=l}o.rip(a,s,n,i)}},function(t,e,r){"use strict";var n=r(53),i=r(4).Buffer,o=r(171);function a(t){var e=t._cipher.encryptBlockRaw(t._prev);return o(t._prev),e}e.encrypt=function(t,e){var r=Math.ceil(e.length/16),o=t._cache.length;t._cache=i.concat([t._cache,i.allocUnsafe(16*r)]);for(var s=0;st;)r.ishrn(1);if(r.isEven()&&r.iadd(s),r.testn(1)||r.iadd(u),e.cmp(u)){if(!e.cmp(f))for(;r.mod(c).cmp(h);)r.iadd(d)}else for(;r.mod(o).cmp(l);)r.iadd(d);if(b(p=r.shrn(1))&&b(r)&&v(p)&&v(r)&&a.test(p)&&a.test(r))return r}}},function(t,e,r){"use strict";var n=r(8),i=r(91);function o(t){this.rand=t||new i.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(t)>=0);return i},o.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},o.prototype.test=function(t,e,r){var i=t.bitLength(),o=n.mont(t),a=new n(1).toRed(o);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),u=0;!s.testn(u);u++);for(var f=t.shrn(u),c=s.toRed(o);e>0;e--){var h=this._randrange(new n(2),s);r&&r(h);var l=h.toRed(o).redPow(f);if(0!==l.cmp(a)&&0!==l.cmp(c)){for(var d=1;d0;e--){var c=this._randrange(new n(2),a),h=t.gcd(c);if(0!==h.cmpn(1))return h;var l=c.toRed(i).redPow(u);if(0!==l.cmp(o)&&0!==l.cmp(f)){for(var d=1;d0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)a.endEmitted?k(t,new _):E(t,a,e,!0);else if(a.ended)k(t,new g);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):T(t,a)):E(t,a,e,!1)}else n||(a.reading=!1,T(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function P(t){var e=t._readableState;f("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(B,t))}function B(t){var e=t._readableState;f("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function T(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(R,t,e))}function R(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function C(t){f("readable nexttick read 0"),t.read(0)}function U(t,e){f("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(f("flow",e.flowing);e.flowing&&null!==t.read(););}function N(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function L(t){var e=t._readableState;f("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(F,e,t))}function F(t,e){if(f("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function D(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?L(this):P(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&L(this),null;var n,i=e.needReadable;return f("need readable",i),(0===e.length||e.length-t0?N(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&L(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){k(this,new w("_read()"))},A.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,e);var a=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?u:b;function s(e,n){f("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),t.removeListener("close",p),t.removeListener("finish",m),t.removeListener("drain",c),t.removeListener("error",d),t.removeListener("unpipe",s),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",l),h=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}function u(){f("onend"),t.end()}i.endEmitted?n.nextTick(a):r.once("end",a),t.on("unpipe",s);var c=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,j(t))}}(r);t.on("drain",c);var h=!1;function l(e){f("ondata");var n=t.write(e);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==D(i.pipes,t))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function d(e){f("onerror",e),b(),t.removeListener("error",d),0===o(t,"error")&&k(t,e)}function p(){t.removeListener("finish",m),b()}function m(){f("onfinish"),t.removeListener("close",p),b()}function b(){f("unpipe"),r.unpipe(t)}return r.on("data",l),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",d),t.once("close",p),t.once("finish",m),t.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?P(this):i.reading||n.nextTick(C,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(I,this),r},A.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(I,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(f("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(U,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,T(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this,r(7),r(6))},function(t,e,r){"use strict";t.exports=c;var n=r(40).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,u=r(41);function f(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(t,e){return"hex"===e?o(t):t}},function(t,e,r){"use strict";var n=e;n.base=r(67),n.short=r(400),n.mont=r(401),n.edwards=r(402)},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2));!function(t,n){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"===(0,e.default)(t)?t.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(411).Buffer}catch(t){}function u(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){a.prototype.inspect=l}else a.prototype.inspect=l;function l(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?d[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var l=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?l+r:d[f-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,l=Math.min(f,e.length-1),d=Math.max(0,f-t.length+1);d<=l;d++){var p=f-d|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[d])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],M=8191&k,S=k>>>13,A=0|a[5],x=8191&A,E=A>>>13,O=0|a[6],P=8191&O,B=O>>>13,T=0|a[7],R=8191&T,I=T>>>13,C=0|a[8],U=8191&C,j=C>>>13,N=0|a[9],L=8191&N,F=N>>>13,D=0|s[0],q=8191&D,H=D>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,lt=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(l,q)|0))<<13)|0;f=((o=Math.imul(l,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(l,K)|0))<<13)|0;f=((o=o+Math.imul(l,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(l,W)|0))<<13)|0;f=((o=o+Math.imul(l,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(l,X)|0))<<13)|0;f=((o=o+Math.imul(l,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(l,Q)|0))<<13)|0;f=((o=o+Math.imul(l,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(l,rt)|0))<<13)|0;f=((o=o+Math.imul(l,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,H))+Math.imul(B,q)|0,o=Math.imul(B,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(l,ot)|0))<<13)|0;f=((o=o+Math.imul(l,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(l,ut)|0))<<13)|0;f=((o=o+Math.imul(l,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,H))+Math.imul(j,q)|0,o=Math.imul(j,H),n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(l,ht)|0))<<13)|0;f=((o=o+Math.imul(l,lt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(F,q)|0,o=Math.imul(F,H),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(j,K)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,lt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(l,pt)|0))<<13)|0;f=((o=o+Math.imul(l,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(F,K)|0,o=Math.imul(F,G),n=n+Math.imul(U,W)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,Z)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,lt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(F,W)|0,o=Math.imul(F,Z),n=n+Math.imul(U,X)|0,i=(i=i+Math.imul(U,Y)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Y)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,lt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(F,X)|0,o=Math.imul(F,Y),n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,lt)|0;var Ot=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,lt)|0;var Pt=(f+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,lt)|0;var Bt=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),n=n+Math.imul(U,ut)|0,i=(i=i+Math.imul(U,ft)|0)+Math.imul(j,ut)|0,o=o+Math.imul(j,ft)|0,n=n+Math.imul(R,ht)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,lt)|0;var Tt=(f+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(B,pt)|0))<<13)|0;f=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(F,ut)|0,o=Math.imul(F,ft),n=n+Math.imul(U,ht)|0,i=(i=i+Math.imul(U,lt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,lt)|0;var Rt=(f+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,lt))+Math.imul(F,ht)|0,o=Math.imul(F,lt);var It=(f+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,mt)|0)+Math.imul(j,pt)|0))<<13)|0;f=((o=o+Math.imul(j,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(F,pt)|0))<<13)|0;return f=((o=Math.imul(F,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=Mt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Ot,u[13]=Pt,u[14]=Bt,u[15]=Tt,u[16]=Rt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var l=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,h);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=l)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var l=0,d=1;0==(e.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(e.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,l=1;0==(r.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function k(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){k.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){k.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){k.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){k.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function O(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}k.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},k.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},k.prototype.split=function(t,e){t.iushrn(this.n,0,e)},k.prototype.imulK=function(t){return t.imul(this.k)},o(M,k),M.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},M.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new M;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),l=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new O(t)},o(O,E),O.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},O.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},O.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(17)(t))},function(t,e,r){"use strict";var n=e;n.bignum=r(8),n.define=r(413).define,n.base=r(416),n.constants=r(417),n.decoders=r(189),n.encoders=r(187)},function(t,e,r){"use strict";var n=e;n.der=r(188),n.pem=r(414)},function(t,e,r){"use strict";var n=r(3),i=r(96).Buffer,o=r(97),a=r(99);function s(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){o.call(this,"der",t)}function f(t){return t<10?"0"+t:t}t.exports=s,s.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},n(u,o),u.prototype._encodeComposite=function(t,e,r,n){var o=function(t,e,r,n){var i;"seqof"===t?t="seq":"setof"===t&&(t="set");if(a.tagByName.hasOwnProperty(t))i=a.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);i=t}if(i>=31)return n.error("Multi-octet tag encoding unsupported");e||(i|=32);return i|=a.tagClassByName[r||"universal"]<<6}(t,e,r,this.reporter);if(n.length<128){var s=i.alloc(2);return s[0]=o,s[1]=n.length,this._createEncoderBuffer([s,n])}for(var u=1,f=n.length;f>=256;f>>=8)u++;var c=i.alloc(2+u);c[0]=o,c[1]=128|u;for(var h=1+u,l=n.length;l>0;h--,l>>=8)c[h]=255&l;return this._createEncoderBuffer([c,n])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=i.alloc(2*t.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}for(var a=0,s=0;s=128;u>>=7)a++}for(var f=i.alloc(a),c=f.length-1,h=t.length-1;h>=0;h--){var l=t[h];for(f[c--]=127&l;(l>>=7)>0;)f[c--]=128|127&l}return this._createEncoderBuffer(f)},u.prototype._encodeTime=function(t,e){var r,n=new Date(t);return"gentime"===e?r=[f(n.getUTCFullYear()),f(n.getUTCMonth()+1),f(n.getUTCDate()),f(n.getUTCHours()),f(n.getUTCMinutes()),f(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[f(n.getUTCFullYear()%100),f(n.getUTCMonth()+1),f(n.getUTCDate()),f(n.getUTCHours()),f(n.getUTCMinutes()),f(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!i.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=i.from(r)}if(i.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=i.alloc(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);for(var a=1,s=t;s>=256;s>>=8)a++;for(var u=new Array(a),f=u.length-1;f>=0;f--)u[f]=255&t,t>>=8;return 128&u[0]&&u.unshift(0),this._createEncoderBuffer(i.from(u))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var n,i=this._baseState;if(null===i.default)return!1;var o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:s.tag[r]}}function h(t,e,r){var n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return t.error("length octect is too long");n=0;for(var o=0;o>>((3&e)<<3)&255;return o}}},function(t,e,r){"use strict";for(var n=[],i=0;i<256;++i)n[i]=(i+256).toString(16).substr(1);t.exports=function(t,e){var r=e||0,i=n;return[i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],"-",i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]],i[t[r++]]].join("")}},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=function(t,e){for(var r in t)"default"===r||e.hasOwnProperty(r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0});var o=r(433);Object.defineProperty(e,"Transaction",{enumerable:!0,get:function(){return o.default}});var a=r(483);Object.defineProperty(e,"AccessListEIP2930Transaction",{enumerable:!0,get:function(){return a.default}});var s=r(484);Object.defineProperty(e,"TransactionFactory",{enumerable:!0,get:function(){return s.default}});var u=r(485);Object.defineProperty(e,"FeeMarketEIP1559Transaction",{enumerable:!0,get:function(){return u.default}}),i(r(43),e)},function(t,e,r){"use strict";var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.KECCAK256_RLP=e.KECCAK256_RLP_S=e.KECCAK256_RLP_ARRAY=e.KECCAK256_RLP_ARRAY_S=e.KECCAK256_NULL=e.KECCAK256_NULL_S=e.TWO_POW256=e.MAX_INTEGER=void 0;var i=r(1).Buffer,o=n(r(34));e.MAX_INTEGER=new o.default("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),e.TWO_POW256=new o.default("10000000000000000000000000000000000000000000000000000000000000000",16),e.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",e.KECCAK256_NULL=i.from(e.KECCAK256_NULL_S,"hex"),e.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",e.KECCAK256_RLP_ARRAY=i.from(e.KECCAK256_RLP_ARRAY_S,"hex"),e.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",e.KECCAK256_RLP=i.from(e.KECCAK256_RLP_S,"hex")},function(t,e,r){"use strict";(function(t){var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e},a=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a},s=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isZeroAddress=e.zeroAddress=e.importPublic=e.privateToAddress=e.privateToPublic=e.publicToAddress=e.pubToAddress=e.isValidPublic=e.isValidPrivate=e.generateAddress2=e.generateAddress=e.isValidChecksumAddress=e.toChecksumAddress=e.isValidAddress=e.Account=void 0;var u=s(r(100)),f=s(r(34)),c=o(r(69)),h=r(200),l=r(42),d=r(198),p=r(35),m=r(102),b=r(70),v=r(103),y=function(){function t(t,e,r,n){void 0===t&&(t=new f.default(0)),void 0===e&&(e=new f.default(0)),void 0===r&&(r=d.KECCAK256_RLP),void 0===n&&(n=d.KECCAK256_NULL),this.nonce=t,this.balance=e,this.stateRoot=r,this.codeHash=n,this._validate()}return t.fromAccountData=function(e){var r=e.nonce,n=e.balance,i=e.stateRoot,o=e.codeHash;return new t(r?new f.default(p.toBuffer(r)):void 0,n?new f.default(p.toBuffer(n)):void 0,i?p.toBuffer(i):void 0,o?p.toBuffer(o):void 0)},t.fromRlpSerializedAccount=function(t){var e=c.decode(t);if(!Array.isArray(e))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(e)},t.fromValuesArray=function(e){var r=a(e,4),n=r[0],i=r[1],o=r[2],s=r[3];return new t(new f.default(n),new f.default(i),o,s)},t.prototype._validate=function(){if(this.nonce.lt(new f.default(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new f.default(0)))throw new Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw new Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw new Error("codeHash must have a length of 32")},t.prototype.raw=function(){return[v.bnToUnpaddedBuffer(this.nonce),v.bnToUnpaddedBuffer(this.balance),this.stateRoot,this.codeHash]},t.prototype.serialize=function(){return c.encode(this.raw())},t.prototype.isContract=function(){return!this.codeHash.equals(d.KECCAK256_NULL)},t.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(d.KECCAK256_NULL)},t}();e.Account=y,e.isValidAddress=function(t){try{b.assertIsString(t)}catch(t){return!1}return/^0x[0-9a-fA-F]{40}$/.test(t)},e.toChecksumAddress=function(t,e){b.assertIsHexString(t);var r=l.stripHexPrefix(t).toLowerCase(),n="";e&&(n=v.toType(e,v.TypeOutput.BN).toString()+"0x");for(var i=m.keccakFromString(n+r).toString("hex"),o="0x",a=0;a=8?o+=r[a].toUpperCase():o+=r[a];return o},e.isValidChecksumAddress=function(t,r){return e.isValidAddress(t)&&e.toChecksumAddress(t,r)===t},e.generateAddress=function(e,r){b.assertIsBuffer(e),b.assertIsBuffer(r);var n=new f.default(r);return n.isZero()?m.rlphash([e,null]).slice(-20):m.rlphash([e,t.from(n.toArray())]).slice(-20)},e.generateAddress2=function(e,r,n){return b.assertIsBuffer(e),b.assertIsBuffer(r),b.assertIsBuffer(n),u.default(20===e.length),u.default(32===r.length),m.keccak256(t.concat([t.from("ff","hex"),e,r,m.keccak256(n)])).slice(-20)},e.isValidPrivate=function(t){return h.privateKeyVerify(t)},e.isValidPublic=function(e,r){return void 0===r&&(r=!1),b.assertIsBuffer(e),64===e.length?h.publicKeyVerify(t.concat([t.from([4]),e])):!!r&&h.publicKeyVerify(e)},e.pubToAddress=function(e,r){return void 0===r&&(r=!1),b.assertIsBuffer(e),r&&64!==e.length&&(e=t.from(h.publicKeyConvert(e,!1).slice(1))),u.default(64===e.length),m.keccak(e).slice(-20)},e.publicToAddress=e.pubToAddress,e.privateToPublic=function(e){return b.assertIsBuffer(e),t.from(h.publicKeyCreate(e,!1)).slice(1)},e.privateToAddress=function(t){return e.publicToAddress(e.privateToPublic(t))},e.importPublic=function(e){return b.assertIsBuffer(e),64!==e.length&&(e=t.from(h.publicKeyConvert(e,!1).slice(1))),e},e.zeroAddress=function(){var t=p.zeros(20);return p.bufferToHex(t)},e.isZeroAddress=function(t){try{b.assertIsString(t)}catch(t){return!1}return e.zeroAddress()===t}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function a(t){try{u(n.next(t))}catch(t){o(t)}}function s(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},i=function(t,e){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]>6|192);else{if(i>55295&&i<56320){if(++n==t.length)return null;var o=t.charCodeAt(n);if(o<56320||o>57343)return null;r+=e((i=65536+((1023&i)<<10)+(1023&o))>>18|240),r+=e(i>>12&63|128)}else r+=e(i>>12|224);r+=e(i>>6&63|128)}r+=e(63&i|128)}}return r},toString:function(t){for(var e="",r=0,o=i(t);r127){if(a>191&&a<224){if(r>=o)return null;a=(31&a)<<6|63&n(t,r)}else if(a>223&&a<240){if(r+1>=o)return null;a=(15&a)<<12|(63&n(t,r))<<6|63&n(t,++r)}else{if(!(a>239&&a<248))return null;if(r+2>=o)return null;a=(7&a)<<18|(63&n(t,r))<<12|(63&n(t,++r))<<6|63&n(t,++r)}++r}if(a<=65535)e+=String.fromCharCode(a);else{if(!(a<=1114111))return null;a-=65536,e+=String.fromCharCode(a>>10|55296),e+=String.fromCharCode(1023&a|56320)}}return e},fromNumber:function(t){var e=t.toString(16);return e.length%2==0?"0x"+e:"0x0"+e},toNumber:function(t){return parseInt(t.slice(2),16)},fromNat:function(t){return"0x0"===t?"0x":t.length%2==0?t:"0x0"+t.slice(2)},toNat:function(t){return"0"===t[2]?"0x"+t.slice(3):t},fromArray:a,toArray:o,fromUint8Array:function(t){return a([].slice.call(t,0))},toUint8Array:function(t){return new Uint8Array(o(t))}}},function(t,e,r){"use strict";var n=r(205).version,i=r(27),o=r(280),a=r(61),s=r(149),u=r(487),f=r(488),c=r(16),h=function(){var t=this;i.packageInit(this,arguments),this.version=n,this.utils=c,this.eth=new o(this),this.shh=new u(this),this.bzz=new f(this);var e=this.setProvider;this.setProvider=function(r,n){return e.apply(t,arguments),t.eth.setRequestManager(t._requestManager),t.shh.setRequestManager(t._requestManager),t.bzz.setProvider(r),!0}};h.version=n,h.utils=c,h.modules={Eth:o,Net:a,Personal:s,Shh:u,Bzz:f},i.addProviders(h),t.exports=h},function(t){t.exports=JSON.parse('{"name":"web3","version":"1.5.1","description":"Ethereum JavaScript API","repository":"https://github.com/ethereum/web3.js","license":"LGPL-3.0","engines":{"node":">=8.0.0"},"main":"lib/index.js","bugs":{"url":"https://github.com/ethereum/web3.js/issues"},"keywords":["Ethereum","JavaScript","API"],"author":"ethereum.org","types":"types/index.d.ts","scripts":{"compile":"tsc -b tsconfig.json","dtslint":"dtslint --localTs ../../node_modules/typescript/lib types","postinstall":"echo \\"WARNING: the web3-shh and web3-bzz api will be deprecated in the next version\\""},"authors":[{"name":"Fabian Vogelsteller","email":"fabian@ethereum.org","homepage":"http://frozeman.de"},{"name":"Marek Kotewicz","email":"marek@parity.io","url":"https://github.com/debris"},{"name":"Marian Oancea","url":"https://github.com/cubedro"},{"name":"Gav Wood","email":"g@parity.io","homepage":"http://gavwood.com"},{"name":"Jeffery Wilcke","email":"jeffrey.wilcke@ethereum.org","url":"https://github.com/obscuren"}],"dependencies":{"web3-bzz":"1.5.1","web3-core":"1.5.1","web3-eth":"1.5.1","web3-eth-personal":"1.5.1","web3-net":"1.5.1","web3-shh":"1.5.1","web3-utils":"1.5.1"},"devDependencies":{"@types/node":"^12.12.6","dtslint":"^3.4.1","typescript":"^3.9.5","web3-core-helpers":"1.5.1"}}')},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(106).callbackify,o=r(10).errors,a=r(113),s=r(222),u=r(223),f=function t(e,r){this.provider=null,this.providers=t.providers,this.setProvider(e,r),this.subscriptions=new Map};f.givenProvider=u,f.providers={WebsocketProvider:r(224),HttpProvider:r(234),IpcProvider:r(250)},f.prototype.setProvider=function(t,e){var r=this;if(t&&"string"==typeof t&&this.providers)if(/^http(s)?:\/\//i.test(t))t=new this.providers.HttpProvider(t);else if(/^ws(s)?:\/\//i.test(t))t=new this.providers.WebsocketProvider(t);else if(t&&"object"===(0,n.default)(e)&&"function"==typeof e.connect)t=new this.providers.IpcProvider(t,e);else if(t)throw new Error("Can't autodetect provider for \""+t+'"');if(this.provider&&this.provider.connected&&this.clearSubscriptions(),this.provider=t||null,this.provider&&this.provider.on){"function"==typeof t.request?this.provider.on("message",(function(t){if(t&&"eth_subscription"===t.type&&t.data){var e=t.data;e.subscription&&r.subscriptions.has(e.subscription)&&r.subscriptions.get(e.subscription).callback(null,e.result)}})):this.provider.on("data",(function(t,e){(t=t||e).method&&t.params&&t.params.subscription&&r.subscriptions.has(t.params.subscription)&&r.subscriptions.get(t.params.subscription).callback(null,t.params.result)})),this.provider.on("connect",(function(){r.subscriptions.forEach((function(t){t.subscription.resubscribe()}))})),this.provider.on("error",(function(t){r.subscriptions.forEach((function(e){e.callback(t)}))}));var i=function(t){r._isCleanCloseEvent(t)&&!r._isIpcCloseError(t)||(r.subscriptions.forEach((function(e){e.callback(o.ConnectionCloseError(t)),r.subscriptions.delete(e.subscription.id)})),r.provider&&r.provider.emit&&r.provider.emit("error",o.ConnectionCloseError(t))),r.provider&&r.provider.emit&&r.provider.emit("end",t)};this.provider.on("close",i),this.provider.on("disconnect",i)}},f.prototype.send=function(t,e){if(e=e||function(){},!this.provider)return e(o.InvalidProvider());var r=t.method,n=t.params,s=a.toPayload(r,n),u=this._jsonrpcResultCallback(e,s);if(this.provider.request)i(this.provider.request.bind(this.provider))({method:r,params:n},e);else if(this.provider.sendAsync)this.provider.sendAsync(s,u);else{if(!this.provider.send)throw new Error("Provider does not have a request or send method to use.");this.provider.send(s,u)}},f.prototype.sendBatch=function(t,e){if(!this.provider)return e(o.InvalidProvider());var r=a.toBatchPayload(t);this.provider[this.provider.sendAsync?"sendAsync":"send"](r,(function(t,r){return t?e(t):Array.isArray(r)?void e(null,r):e(o.InvalidResponse(r))}))},f.prototype.addSubscription=function(t,e){if(!this.provider.on)throw new Error("The provider doesn't support subscriptions: "+this.provider.constructor.name);this.subscriptions.set(t.id,{callback:e,subscription:t})},f.prototype.removeSubscription=function(t,e){if(this.subscriptions.has(t)){var r=this.subscriptions.get(t).subscription.options.type;return this.subscriptions.delete(t),void this.send({method:r+"_unsubscribe",params:[t]},e)}"function"==typeof e&&e(null)},f.prototype.clearSubscriptions=function(t){try{var e=this;return this.subscriptions.size>0&&this.subscriptions.forEach((function(r,n){t&&"syncing"===r.name||e.removeSubscription(n)})),this.provider.reset&&this.provider.reset(),!0}catch(t){throw new Error("Error while clearing subscriptions: ".concat(t))}},f.prototype._isCleanCloseEvent=function(t){return"object"===(0,n.default)(t)&&([1e3].includes(t.code)||!0===t.wasClean)},f.prototype._isIpcCloseError=function(t){return"boolean"==typeof t&&t},f.prototype._jsonrpcResultCallback=function(t,e){return function(r,n){return n&&n.id&&e.id!==n.id?t(new Error("Wrong response id ".concat(n.id," (expected: ").concat(e.id,") in ").concat(JSON.stringify(e)))):r?t(r):n&&n.error?t(o.ErrorResponse(n)):a.isValidResponse(n)?void t(null,n.result):t(o.InvalidResponse(n))}},t.exports={Manager:f,BatchManager:s}},function(t,e,r){"use strict";var n=r(0)(r(2));t.exports=function(t){return t&&"object"===(0,n.default)(t)&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e,r){"use strict";"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},function(t,e,r){"use strict";var n=r(0)(r(2));t.exports={ErrorResponse:function(t){var e=t&&t.error&&t.error.message?t.error.message:JSON.stringify(t),r=t.error&&t.error.data?t.error.data:null,n=new Error("Returned error: "+e);return n.data=r,n},InvalidNumberOfParams:function(t,e,r){return new Error('Invalid number of parameters for "'+r+'". Got '+t+" expected "+e+"!")},InvalidConnection:function(t,e){return this.ConnectionError("CONNECTION ERROR: Couldn't connect to node "+t+".",e)},InvalidProvider:function(){return new Error("Provider not set or invalid")},InvalidResponse:function(t){var e=t&&t.error&&t.error.message?t.error.message:"Invalid JSON RPC response: "+JSON.stringify(t);return new Error(e)},ConnectionTimeout:function(t){return new Error("CONNECTION TIMEOUT: timeout of "+t+" ms achived")},ConnectionNotOpenError:function(t){return this.ConnectionError("connection not open on send()",t)},ConnectionCloseError:function(t){return"object"===(0,n.default)(t)&&t.code&&t.reason?this.ConnectionError("CONNECTION ERROR: The connection got closed with the close code `"+t.code+"` and the following reason string `"+t.reason+"`",t):new Error("CONNECTION ERROR: The connection closed unexpectedly")},MaxAttemptsReachedOnReconnectingError:function(){return new Error("Maximum number of reconnect attempts reached!")},PendingRequestsOnReconnectingError:function(){return new Error("CONNECTION ERROR: Provider started to reconnect before the response got received!")},ConnectionError:function(t,e){var r=new Error(t);return e&&(r.code=e.code,r.reason=e.reason),r},RevertInstructionError:function(t,e){var r=new Error("Your request got reverted with the following reason string: "+t);return r.reason=t,r.signature=e,r},TransactionRevertInstructionError:function(t,e,r){var n=new Error("Transaction has been reverted by the EVM:\n"+JSON.stringify(r,null,2));return n.reason=t,n.signature=e,n.receipt=r,n},TransactionError:function(t,e){var r=new Error(t);return r.receipt=e,r},NoContractAddressFoundError:function(t){return this.TransactionError("The transaction receipt didn't contain a contract address.",t)},ContractCodeNotStoredError:function(t){return this.TransactionError("The contract code couldn't be stored, please check your gas limit.",t)},TransactionRevertedWithoutReasonError:function(t){return this.TransactionError("Transaction has been reverted by the EVM:\n"+JSON.stringify(t,null,2),t)},TransactionOutOfGasError:function(t){return this.TransactionError("Transaction ran out of gas. Please provide more gas:\n"+JSON.stringify(t,null,2),t)},ResolverMethodMissingError:function(t,e){return new Error("The resolver at "+t+'does not implement requested method: "'+e+'".')},ContractMissingABIError:function(){return new Error("You must provide the json interface of the contract when instantiating a contract object.")},ContractOnceRequiresCallbackError:function(){return new Error("Once requires a callback as the second parameter.")},ContractEventDoesNotExistError:function(t){return new Error('Event "'+t+"\" doesn't exist in this contract.")},ContractReservedEventError:function(t){return new Error('The event "'+t+"\" is a reserved event name, you can't use it.")},ContractMissingDeployDataError:function(){return new Error('No "data" specified in neither the given options, nor the default options.')},ContractNoAddressDefinedError:function(){return new Error("This contract object doesn't have address set yet, please set an address first.")},ContractNoFromAddressDefinedError:function(){return new Error('No "from" address specified in neither the given options, nor the default options.')}}},function(t,e,r){"use strict";var n=r(0),i=n(r(44)),o=n(r(2));function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function s(t){for(var e=1;e2)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal points");var l=h[0],d=h[1];if(l||(l="0"),d||(d="0"),d.length>o)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal places");for(;d.length=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function f(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&o++,16===r?this._parseHex(t,o):this._parseBase(t,r,o),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),r,n)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(i("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=u(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=u(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,l=Math.min(f,e.length-1),d=Math.max(0,f-t.length+1);d<=l;d++){var p=f-d|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[d])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?c[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=l[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:c[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],M=8191&k,S=k>>>13,A=0|a[5],x=8191&A,E=A>>>13,O=0|a[6],P=8191&O,B=O>>>13,T=0|a[7],R=8191&T,I=T>>>13,C=0|a[8],U=8191&C,j=C>>>13,N=0|a[9],L=8191&N,F=N>>>13,D=0|s[0],q=8191&D,H=D>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,lt=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(l,q)|0))<<13)|0;f=((o=Math.imul(l,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(l,K)|0))<<13)|0;f=((o=o+Math.imul(l,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(l,W)|0))<<13)|0;f=((o=o+Math.imul(l,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(l,X)|0))<<13)|0;f=((o=o+Math.imul(l,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(l,Q)|0))<<13)|0;f=((o=o+Math.imul(l,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(l,rt)|0))<<13)|0;f=((o=o+Math.imul(l,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,H))+Math.imul(B,q)|0,o=Math.imul(B,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(l,ot)|0))<<13)|0;f=((o=o+Math.imul(l,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(l,ut)|0))<<13)|0;f=((o=o+Math.imul(l,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,H))+Math.imul(j,q)|0,o=Math.imul(j,H),n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(l,ht)|0))<<13)|0;f=((o=o+Math.imul(l,lt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(F,q)|0,o=Math.imul(F,H),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(j,K)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,lt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(l,pt)|0))<<13)|0;f=((o=o+Math.imul(l,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(F,K)|0,o=Math.imul(F,G),n=n+Math.imul(U,W)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,Z)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,lt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(F,W)|0,o=Math.imul(F,Z),n=n+Math.imul(U,X)|0,i=(i=i+Math.imul(U,Y)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Y)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,lt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(F,X)|0,o=Math.imul(F,Y),n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,lt)|0;var Ot=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,lt)|0;var Pt=(f+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,lt)|0;var Bt=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),n=n+Math.imul(U,ut)|0,i=(i=i+Math.imul(U,ft)|0)+Math.imul(j,ut)|0,o=o+Math.imul(j,ft)|0,n=n+Math.imul(R,ht)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,lt)|0;var Tt=(f+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(B,pt)|0))<<13)|0;f=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(F,ut)|0,o=Math.imul(F,ft),n=n+Math.imul(U,ht)|0,i=(i=i+Math.imul(U,lt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,lt)|0;var Rt=(f+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,lt))+Math.imul(F,ht)|0,o=Math.imul(F,lt);var It=(f+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,mt)|0)+Math.imul(j,pt)|0))<<13)|0;f=((o=o+Math.imul(j,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(F,pt)|0))<<13)|0;return f=((o=Math.imul(F,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=Mt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Ot,u[13]=Pt,u[14]=Bt,u[15]=Tt,u[16]=Rt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function m(t,e,r){return(new b).mulp(t,e,r)}function b(t,e){this.x=t,this.y=e}Math.imul||(p=d),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?d(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},b.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var l=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,h);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=l)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var l=0,d=1;0==(e.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(e.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,l=1;0==(r.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new M(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},o(g,y),g.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},g.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new g;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new k}return v[t]=e,e},M.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),l=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new S(t)},o(S,M),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(17)(t))},function(t,e,r){"use strict";e.byteLength=function(t){var e=f(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=f(t),a=n[0],s=n[1],u=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[c++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e);return u},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=0,s=r-i;as?s:a+16383));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e,r){"use strict"; +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */e.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,c=-7,h=r?i-1:0,l=r?-1:1,d=t[e+h];for(h+=l,o=d&(1<<-c)-1,d>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=l,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=l,c-=8);if(0===o)o=1-f;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),o-=f}return(d?-1:1)*a*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var a,s,u,f=8*o-i-1,c=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?l/u:l*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+d]=255&s,d+=p,s/=256,i-=8);for(a=a<0;t[r+d]=255&a,d+=p,a/=256,f-=8);t[r+d-p]|=128*m}},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2));!function(t,n){function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"===(0,e.default)(t)?t.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s=r(1).Buffer}catch(t){}function u(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function f(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"===(0,e.default)(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&o++,16===r?this._parseHex(t,o):this._parseBase(t,r,o),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),r,n)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(i("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=u(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=u(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,l=Math.min(f,e.length-1),d=Math.max(0,f-t.length+1);d<=l;d++){var p=f-d|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[d])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?c[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=l[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:c[f-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,f=new t(o),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),f[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],M=8191&k,S=k>>>13,A=0|a[5],x=8191&A,E=A>>>13,O=0|a[6],P=8191&O,B=O>>>13,T=0|a[7],R=8191&T,I=T>>>13,C=0|a[8],U=8191&C,j=C>>>13,N=0|a[9],L=8191&N,F=N>>>13,D=0|s[0],q=8191&D,H=D>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,lt=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(l,q)|0))<<13)|0;f=((o=Math.imul(l,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(l,K)|0))<<13)|0;f=((o=o+Math.imul(l,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(l,W)|0))<<13)|0;f=((o=o+Math.imul(l,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(l,X)|0))<<13)|0;f=((o=o+Math.imul(l,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(l,Q)|0))<<13)|0;f=((o=o+Math.imul(l,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(l,rt)|0))<<13)|0;f=((o=o+Math.imul(l,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,H))+Math.imul(B,q)|0,o=Math.imul(B,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(l,ot)|0))<<13)|0;f=((o=o+Math.imul(l,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(l,ut)|0))<<13)|0;f=((o=o+Math.imul(l,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,H))+Math.imul(j,q)|0,o=Math.imul(j,H),n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(l,ht)|0))<<13)|0;f=((o=o+Math.imul(l,lt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(F,q)|0,o=Math.imul(F,H),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(j,K)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,lt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(l,pt)|0))<<13)|0;f=((o=o+Math.imul(l,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(F,K)|0,o=Math.imul(F,G),n=n+Math.imul(U,W)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,Z)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,lt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(F,W)|0,o=Math.imul(F,Z),n=n+Math.imul(U,X)|0,i=(i=i+Math.imul(U,Y)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Y)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,lt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(F,X)|0,o=Math.imul(F,Y),n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,lt)|0;var Ot=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,lt)|0;var Pt=(f+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,lt)|0;var Bt=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),n=n+Math.imul(U,ut)|0,i=(i=i+Math.imul(U,ft)|0)+Math.imul(j,ut)|0,o=o+Math.imul(j,ft)|0,n=n+Math.imul(R,ht)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,lt)|0;var Tt=(f+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(B,pt)|0))<<13)|0;f=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(F,ut)|0,o=Math.imul(F,ft),n=n+Math.imul(U,ht)|0,i=(i=i+Math.imul(U,lt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,lt)|0;var Rt=(f+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,lt))+Math.imul(F,ht)|0,o=Math.imul(F,lt);var It=(f+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,mt)|0)+Math.imul(j,pt)|0))<<13)|0;f=((o=o+Math.imul(j,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(F,pt)|0))<<13)|0;return f=((o=Math.imul(F,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=Mt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Ot,u[13]=Pt,u[14]=Bt,u[15]=Tt,u[16]=Rt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function m(t,e,r){return(new b).mulp(t,e,r)}function b(t,e){this.x=t,this.y=e}Math.imul||(p=d),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?d(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},b.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var l=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,h);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=l)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var l=0,d=1;0==(e.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(e.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,l=1;0==(r.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new M(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},o(g,y),g.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},g.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new g;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new k}return v[t]=e,e},M.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),l=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new S(t)},o(S,M),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(17)(t))},function(t,e){},function(t,e,r){"use strict"; +/*! https://mths.be/utf8js v3.0.0 by @mathias */!function(t){var e,r,n,i=String.fromCharCode;function o(t){for(var e,r,n=[],i=0,o=t.length;i=55296&&e<=56319&&i=55296&&t<=57343)throw Error("Lone surrogate U+"+t.toString(16).toUpperCase()+" is not a scalar value")}function s(t,e){return i(t>>e&63|128)}function u(t){if(0==(4294967168&t))return i(t);var e="";return 0==(4294965248&t)?e=i(t>>6&31|192):0==(4294901760&t)?(a(t),e=i(t>>12&15|224),e+=s(t,6)):0==(4292870144&t)&&(e=i(t>>18&7|240),e+=s(t,12),e+=s(t,6)),e+=i(63&t|128)}function f(){if(n>=r)throw Error("Invalid byte index");var t=255&e[n];if(n++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function c(){var t,i;if(n>r)throw Error("Invalid byte index");if(n==r)return!1;if(t=255&e[n],n++,0==(128&t))return t;if(192==(224&t)){if((i=(31&t)<<6|f())>=128)return i;throw Error("Invalid continuation byte")}if(224==(240&t)){if((i=(15&t)<<12|f()<<6|f())>=2048)return a(i),i;throw Error("Invalid continuation byte")}if(240==(248&t)&&(i=(7&t)<<18|f()<<12|f()<<6|f())>=65536&&i<=1114111)return i;throw Error("Invalid UTF-8 detected")}t.version="3.0.0",t.encode=function(t){for(var e=o(t),r=e.length,n=-1,i="";++n65535&&(o+=i((e-=65536)>>>10&1023|55296),e=56320|1023&e),o+=i(e);return o}(s)}}(e)},function(t,e,r){"use strict";var n=r(0)(r(2));Object.defineProperty(e,"__esModule",{value:!0});var i=r(219);function o(t){return"string"==typeof t&&(!!/^(0x)?[0-9a-f]{512}$/i.test(t)&&!(!/^(0x)?[0-9a-f]{512}$/.test(t)&&!/^(0x)?[0-9A-F]{512}$/.test(t)))}function a(t,e){"object"===(0,n.default)(e)&&e.constructor===Uint8Array&&(e=i.bytesToHex(e));for(var r=i.keccak256(e).replace("0x",""),o=0;o<12;o+=4){var a=(parseInt(r.substr(o,2),16)<<8)+parseInt(r.substr(o+2,2),16)&2047,u=1<=48&&t<=57)return t-48;if(t>=65&&t<=70)return t-55;if(t>=97&&t<=102)return t-87;throw new Error("invalid bloom")}function u(t){return"string"==typeof t&&(!!/^(0x)?[0-9a-f]{64}$/i.test(t)&&!(!/^(0x)?[0-9a-f]{64}$/.test(t)&&!/^(0x)?[0-9A-F]{64}$/.test(t)))}function f(t){return"string"==typeof t&&(!!t.match(/^(0x)?[0-9a-fA-F]{40}$/)||!!t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/))}e.isBloom=o,e.isInBloom=a,e.isUserEthereumAddressInBloom=function(t,e){if(!o(t))throw new Error("Invalid bloom given");if(!f(e))throw new Error('Invalid ethereum address given: "'.concat(e,'"'));return a(t,i.padLeft(e,64))},e.isContractAddressInBloom=function(t,e){if(!o(t))throw new Error("Invalid bloom given");if(!f(e))throw new Error('Invalid contract address given: "'.concat(e,'"'));return a(t,e)},e.isTopicInBloom=function(t,e){if(!o(t))throw new Error("Invalid bloom given");if(!u(e))throw new Error("Invalid topic");return a(t,e)},e.isTopic=u,e.isAddress=f},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(220);function i(t){if(null==t)throw new Error("cannot convert null value to array");if("string"==typeof t){var e=t.match(/^(0x)?[0-9a-fA-F]*$/);if(!e)throw new Error("invalid hexidecimal string");if("0x"!==e[1])throw new Error("hex string must have 0x prefix");(t=t.substring(2)).length%2&&(t="0"+t);for(var r=[],n=0;n=256||parseInt(String(r))!=r)return!1}return!0}(t))return o(new Uint8Array(t));throw new Error("invalid arrayify value")}function o(t){var e=arguments;return void 0!==t.slice||(t.slice=function(){var r=Array.prototype.slice.call(e);return o(new Uint8Array(Array.prototype.slice.apply(t,r)))}),t}e.keccak256=function(t){return"0x"+n.keccak_256(i(t))},e.padLeft=function(t,e){var r=/^0x/i.test(t)||"number"==typeof t,n=e-(t=t.toString().replace(/^0x/i,"")).length+1>=0?e-t.length+1:0;return(r?"0x":"")+new Array(n).join("0")+t},e.bytesToHex=function(t){for(var e=[],r=0;r>>4).toString(16)),e.push((15&t[r]).toString(16));return"0x".concat(e.join("").replace(/^0+/,""))},e.toByteArray=i},function(t,e,r){"use strict";(function(t,n,i){var o,a=r(0)(r(2)); /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -30,12 +29,12 @@ object-assign * @copyright Chen, Yi-Cyuan 2015-2018 * @license MIT */ -!function(){var s="input is invalid type",u="object"===("undefined"==typeof window?"undefined":(0,a.default)(window)),f=u?window:{};f.JS_SHA3_NO_WINDOW&&(u=!1);var c=!u&&"object"===("undefined"==typeof self?"undefined":(0,a.default)(self));!f.JS_SHA3_NO_NODE_JS&&"object"===(void 0===t?"undefined":(0,a.default)(t))&&t.versions&&t.versions.node?f=n:c&&(f=self);var h=!f.JS_SHA3_NO_COMMON_JS&&"object"===(0,a.default)(i)&&i.exports,d=r(90),l=!f.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,p="0123456789abcdef".split(""),m=[4,1024,262144,67108864],b=[0,8,16,24],v=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],y=[224,256,384,512],g=[128,256],w=["hex","buffer","arrayBuffer","array","digest"],_={128:168,256:136};!f.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),!l||!f.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(t){return"object"===(0,a.default)(t)&&t.buffer&&t.buffer.constructor===ArrayBuffer});for(var M=function(t,e,r){return function(n){return new j(t,e,t).update(n)[r]()}},k=function(t,e,r){return function(n,i){return new j(t,e,i).update(n)[r]()}},S=function(t,e,r){return function(e,n,i,o){return B["cshake"+t].update(e,n,i,o)[r]()}},A=function(t,e,r){return function(e,n,i,o){return B["kmac"+t].update(e,n,i,o)[r]()}},x=function(t,e,r,n){for(var i=0;i>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}function L(t,e,r){j.call(this,t,e,r)}j.prototype.update=function(t){if(this.finalized)throw new Error("finalize already called");var e,r=(0,a.default)(t);if("string"!==r){if("object"!==r)throw new Error(s);if(null===t)throw new Error(s);if(l&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||l&&ArrayBuffer.isView(t)))throw new Error(s);e=!0}for(var n,i,o=this.blocks,u=this.byteCount,f=t.length,c=this.blockCount,h=0,d=this.s;h>2]|=t[h]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(o[n>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=u){for(this.start=n-u,this.block=o[c],n=0;n>=8);r>0;)i.unshift(r),r=255&(t>>=8),++n;return e?i.push(n):i.unshift(n),this.update(i),i.length},j.prototype.encodeString=function(t){var e,r=(0,a.default)(t);if("string"!==r){if("object"!==r)throw new Error(s);if(null===t)throw new Error(s);if(l&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||l&&ArrayBuffer.isView(t)))throw new Error(s);e=!0}var n=0,i=t.length;if(e)n=i;else for(var o=0;o=57344?n+=3:(u=65536+((1023&u)<<10|1023&t.charCodeAt(++o)),n+=4)}return n+=this.encode(8*n),this.update(t),n},j.prototype.bytepad=function(t,e){for(var r=this.encode(e),n=0;n>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+p[15&t]+p[t>>12&15]+p[t>>8&15]+p[t>>20&15]+p[t>>16&15]+p[t>>28&15]+p[t>>24&15];a%e==0&&(D(r),o=0)}return i&&(t=r[o],s+=p[t>>4&15]+p[15&t],i>1&&(s+=p[t>>12&15]+p[t>>8&15]),i>2&&(s+=p[t>>20&15]+p[t>>16&15])),s},j.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%r==0&&D(n)}return o&&(t=s<<2,e=n[a],u[t]=255&e,o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u},L.prototype=new j,L.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var D=function(t){var e,r,n,i,o,a,s,u,f,c,h,d,l,p,m,b,y,g,w,_,M,k,S,A,x,E,P,B,O,R,T,I,C,N,U,j,L,D,F,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],u=t[4]^t[14]^t[24]^t[34]^t[44],f=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],h=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),r=(l=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(u<<1|f>>>31),r=o^(f<<1|u>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(c<<1|h>>>31),r=s^(h<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=u^(d<<1|l>>>31),r=f^(l<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(i<<1|o>>>31),r=h^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,p=t[0],m=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,B=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,N=t[2]<<1|t[3]>>>31,U=t[3]<<1|t[2]>>>31,b=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,j=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,F=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,k=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=p^~b&g,t[1]=m^~y&w,t[10]=A^~E&B,t[11]=x^~P&O,t[20]=N^~j&D,t[21]=U^~L&F,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=b^~g&_,t[3]=y^~w&M,t[12]=E^~B&R,t[13]=P^~O&T,t[22]=j^~D&q,t[23]=L^~F&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&k,t[5]=w^~M&S,t[14]=B^~R&I,t[15]=O^~T&C,t[24]=D^~q&z,t[25]=F^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~k&p,t[7]=M^~S&m,t[16]=R^~I&A,t[17]=T^~C&x,t[26]=q^~z&N,t[27]=H^~K&U,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=k^~p&b,t[9]=S^~m&y,t[18]=I^~A&E,t[19]=C^~x&P,t[28]=z^~N&j,t[29]=K^~U&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=v[n],t[1]^=v[n+1]};if(h)i.exports=B;else{for(R=0;R32||n256)throw new Error("Invalid uint"+n+" size");if((s=a(e)).bitLength()>n)throw new Error("Supplied uint exceeds width: "+n+" vs "+s.bitLength());if(s.lt(new i(0)))throw new Error("Supplied uint "+s.toString()+" is negative");return n?o.leftPad(s.toString("hex"),n/8*2):s}if(t.startsWith("int")){if(n%8||n<8||n>256)throw new Error("Invalid int"+n+" size");if((s=a(e)).bitLength()>n)throw new Error("Supplied int exceeds width: "+n+" vs "+s.bitLength());return s.lt(new i(0))?s.toTwos(n).toString("hex"):n?o.leftPad(s.toString("hex"),n/8*2):s}throw new Error("Unsupported or invalid type: "+t)},u=function(t){if(Array.isArray(t))throw new Error("Autodetection of array types is not supported.");var e,r,a="";if(t&&"object"===(0,n.default)(t)&&(t.hasOwnProperty("v")||t.hasOwnProperty("t")||t.hasOwnProperty("value")||t.hasOwnProperty("type"))?(e=t.hasOwnProperty("t")?t.t:t.type,a=t.hasOwnProperty("v")?t.v:t.value):(e=o.toHex(t,!0),a=o.toHex(t),e.startsWith("int")||e.startsWith("uint")||(e="bytes")),!e.startsWith("int")&&!e.startsWith("uint")||"string"!=typeof a||/^(-)?0x/i.test(a)||(a=new i(a)),Array.isArray(a)){if((r=function(t){var e=/^\D+\d*\[(\d+)\]$/.exec(t);return e?parseInt(e[1],10):null}(e))&&a.length!==r)throw new Error(e+" is not matching the given array "+JSON.stringify(a));r=a.length}return Array.isArray(a)?a.map((function(t){return s(e,t,r).toString("hex").replace("0x","")})).join(""):s(e,a,r).toString("hex").replace("0x","")};t.exports={soliditySha3:function(){var t=Array.prototype.slice.call(arguments),e=t.map(u);return o.sha3("0x"+e.join(""))},soliditySha3Raw:function(){return o.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(u).join(""))},encodePacked:function(){var t=Array.prototype.slice.call(arguments),e=t.map(u);return"0x"+e.join("").toLowerCase()}}},function(t,e,r){"use strict";var n=r(134),i=r(11).errors,o=function(t){this.requestManager=t,this.requests=[]};o.prototype.add=function(t){this.requests.push(t)},o.prototype.execute=function(){var t=this.requests;this.requestManager.sendBatch(t,(function(e,r){r=r||[],t.map((function(t,e){return r[e]||{}})).forEach((function(e,r){if(t[r].callback){if(e&&e.error)return t[r].callback(i.ErrorResponse(e));if(!n.isValidResponse(e))return t[r].callback(i.InvalidResponse(e));try{t[r].callback(null,t[r].format?t[r].format(e.result):e.result)}catch(e){t[r].callback(e)}}}))}))},t.exports=o},function(t,e,r){"use strict";var n,i=null;try{n=Function("return this")()}catch(t){n=window}void 0!==n.ethereum?i=n.ethereum:void 0!==n.web3&&n.web3.currentProvider&&(n.web3.currentProvider.sendAsync&&(n.web3.currentProvider.send=n.web3.currentProvider.sendAsync,delete n.web3.currentProvider.sendAsync),!n.web3.currentProvider.on&&n.web3.currentProvider.connection&&"ipcProviderWrapper"===n.web3.currentProvider.connection.constructor.name&&(n.web3.currentProvider.on=function(t,e){if("function"!=typeof e)throw new Error("The second parameter callback must be a function.");switch(t){case"data":this.connection.on("data",(function(t){var r="";t=t.toString();try{r=JSON.parse(t)}catch(r){return e(new Error("Couldn't parse response data"+t))}r.id||-1===r.method.indexOf("_subscription")||e(null,r)}));break;default:this.connection.on(t,e)}}),i=n.web3.currentProvider),t.exports=i},function(t,e,r){"use strict";var n=r(91),i=r(266),o=r(11).errors,a=r(271).w3cwebsocket,s=function(t,e){n.call(this),e=e||{},this.url=t,this._customTimeout=e.timeout||15e3,this.headers=e.headers||{},this.protocol=e.protocol||void 0,this.reconnectOptions=Object.assign({auto:!1,delay:5e3,maxAttempts:!1,onTimeout:!1},e.reconnect),this.clientConfig=e.clientConfig||void 0,this.requestOptions=e.requestOptions||void 0,this.DATA="data",this.CLOSE="close",this.ERROR="error",this.CONNECT="connect",this.RECONNECT="reconnect",this.connection=null,this.requestQueue=new Map,this.responseQueue=new Map,this.reconnectAttempts=0,this.reconnecting=!1;var r=i.parseURL(t);r.username&&r.password&&(this.headers.authorization="Basic "+i.btoa(r.username+":"+r.password)),r.auth&&(this.headers.authorization="Basic "+i.btoa(r.auth)),Object.defineProperty(this,"connected",{get:function(){return this.connection&&this.connection.readyState===this.connection.OPEN},enumerable:!0}),this.connect()};(s.prototype=Object.create(n.prototype)).constructor=s,s.prototype.connect=function(){this.connection=new a(this.url,this.protocol,void 0,this.headers,this.requestOptions,this.clientConfig),this._addSocketListeners()},s.prototype._onMessage=function(t){var e=this;this._parseResponse("string"==typeof t.data?t.data:"").forEach((function(t){if(t.method&&-1!==t.method.indexOf("_subscription"))e.emit(e.DATA,t);else{var r=t.id;Array.isArray(t)&&(r=t[0].id),e.responseQueue.has(r)&&(void 0!==e.responseQueue.get(r).callback&&e.responseQueue.get(r).callback(!1,t),e.responseQueue.delete(r))}}))},s.prototype._onConnect=function(){if(this.emit(this.CONNECT),this.reconnectAttempts=0,this.reconnecting=!1,this.requestQueue.size>0){var t=this;this.requestQueue.forEach((function(e,r){t.send(e.payload,e.callback),t.requestQueue.delete(r)}))}},s.prototype._onClose=function(t){var e=this;!this.reconnectOptions.auto||[1e3,1001].includes(t.code)&&!1!==t.wasClean?(this.emit(this.CLOSE,t),this.requestQueue.size>0&&this.requestQueue.forEach((function(r,n){r.callback(o.ConnectionNotOpenError(t)),e.requestQueue.delete(n)})),this.responseQueue.size>0&&this.responseQueue.forEach((function(r,n){r.callback(o.InvalidConnection("on WS",t)),e.responseQueue.delete(n)})),this._removeSocketListeners(),this.removeAllListeners()):this.reconnect()},s.prototype._addSocketListeners=function(){this.connection.addEventListener("message",this._onMessage.bind(this)),this.connection.addEventListener("open",this._onConnect.bind(this)),this.connection.addEventListener("close",this._onClose.bind(this))},s.prototype._removeSocketListeners=function(){this.connection.removeEventListener("message",this._onMessage),this.connection.removeEventListener("open",this._onConnect),this.connection.removeEventListener("close",this._onClose)},s.prototype._parseResponse=function(t){var e=this,r=[];return t.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach((function(t){e.lastChunk&&(t=e.lastChunk+t);var n=null;try{n=JSON.parse(t)}catch(r){return e.lastChunk=t,clearTimeout(e.lastChunkTimeout),void(e.lastChunkTimeout=setTimeout((function(){e.reconnectOptions.auto&&e.reconnectOptions.onTimeout?e.reconnect():(e.emit(e.ERROR,o.ConnectionTimeout(e._customTimeout)),e.requestQueue.size>0&&e.requestQueue.forEach((function(t,r){t.callback(o.ConnectionTimeout(e._customTimeout)),e.requestQueue.delete(r)})))}),e._customTimeout))}clearTimeout(e.lastChunkTimeout),e.lastChunk=null,n&&r.push(n)})),r},s.prototype.send=function(t,e){var r=t.id,n={payload:t,callback:e};if(Array.isArray(t)&&(r=t[0].id),this.connection.readyState===this.connection.CONNECTING||this.reconnecting)this.requestQueue.set(r,n);else{if(this.connection.readyState!==this.connection.OPEN)return this.requestQueue.delete(r),this.emit(this.ERROR,o.ConnectionNotOpenError()),void n.callback(o.ConnectionNotOpenError());this.responseQueue.set(r,n),this.requestQueue.delete(r);try{this.connection.send(JSON.stringify(n.payload))}catch(t){n.callback(t),this.responseQueue.delete(r)}}},s.prototype.reset=function(){this.responseQueue.clear(),this.requestQueue.clear(),this.removeAllListeners(),this._removeSocketListeners(),this._addSocketListeners()},s.prototype.disconnect=function(t,e){this._removeSocketListeners(),this.connection.close(t||1e3,e)},s.prototype.supportsSubscriptions=function(){return!0},s.prototype.reconnect=function(){var t=this;this.reconnecting=!0,this.responseQueue.size>0&&this.responseQueue.forEach((function(e,r){e.callback(o.PendingRequestsOnReconnectingError()),t.responseQueue.delete(r)})),!this.reconnectOptions.maxAttempts||this.reconnectAttempts0&&this.requestQueue.forEach((function(e,r){e.callback(o.MaxAttemptsReachedOnReconnectingError()),t.requestQueue.delete(r)})))},t.exports=s},function(t,e,r){"use strict";(function(e,n){var i="[object process]"===Object.prototype.toString.call(void 0!==e?e:0),o="undefined"!=typeof navigator&&"ReactNative"===navigator.product,a=null,s=null;if(i||o){a=function(t){return n.from(t).toString("base64")};var u=r(59);if(u.URL){var f=u.URL;s=function(t){return new f(t)}}else s=r(59).parse}else a=btoa.bind(window),s=function(t){return new URL(t)};t.exports={parseURL:s,btoa:a}}).call(this,r(5),r(1).Buffer)},function(t,e,r){"use strict";var n=r(0)(r(2));t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"===(0,n.default)(t)&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,r){"use strict";e.decode=e.parse=r(269),e.encode=e.stringify=r(270)},function(t,e,r){"use strict";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,r,o){e=e||"&",r=r||"=";var a={};if("string"!=typeof t||0===t.length)return a;var s=/\+/g;t=t.split(e);var u=1e3;o&&"number"==typeof o.maxKeys&&(u=o.maxKeys);var f=t.length;u>0&&f>u&&(f=u);for(var c=0;c=0?(h=m.substr(0,b),d=m.substr(b+1)):(h=m,d=""),l=decodeURIComponent(h),p=decodeURIComponent(d),n(a,l)?i(a[l])?a[l].push(p):a[l]=[a[l],p]:a[l]=p}return a};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=function(t){switch((0,n.default)(t)){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,r,u){return e=e||"&",r=r||"=",null===t&&(t=void 0),"object"===(0,n.default)(t)?a(s(t),(function(n){var s=encodeURIComponent(i(n))+r;return o(t[n])?a(t[n],(function(t){return s+encodeURIComponent(i(t))})).join(e):s+encodeURIComponent(i(t[n]))})).join(e):u?encodeURIComponent(i(u))+r+encodeURIComponent(i(t)):""};var o=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function a(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n (https://github.com/theturtle32)","contributors":["Iñaki Baz Castillo (http://dev.sipdoc.net)"],"version":"1.0.34","repository":{"type":"git","url":"https://github.com/theturtle32/WebSocket-Node.git"},"homepage":"https://github.com/theturtle32/WebSocket-Node","engines":{"node":">=4.0.0"},"dependencies":{"bufferutil":"^4.0.1","debug":"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2","yaeti":"^0.0.6"},"devDependencies":{"buffer-equal":"^1.0.0","gulp":"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1","jshint":"^2.0.0","tape":"^4.9.1"},"config":{"verbose":false},"scripts":{"test":"tape test/unit/*.js","gulp":"gulp"},"main":"index","directories":{"lib":"./lib"},"browser":"lib/browser.js","license":"Apache-2.0"}')},function(t,e,r){"use strict";var n=r(11).errors,i=r(276).XMLHttpRequest,o=r(92),a=r(144),s=function(t,e){e=e||{},this.withCredentials=e.withCredentials||!1,this.timeout=e.timeout||0,this.headers=e.headers,this.agent=e.agent,this.connected=!1;var r=!1!==e.keepAlive;this.host=t||"http://localhost:8545",this.agent||("https"===this.host.substring(0,5)?this.httpsAgent=new a.Agent({keepAlive:r}):this.httpAgent=new o.Agent({keepAlive:r}))};s.prototype._prepareRequest=function(){var t;if("undefined"!=typeof XMLHttpRequest)t=new XMLHttpRequest;else{t=new i;var e={httpsAgent:this.httpsAgent,httpAgent:this.httpAgent,baseUrl:this.baseUrl};this.agent&&(e.httpsAgent=this.agent.https,e.httpAgent=this.agent.http,e.baseUrl=this.agent.baseUrl),t.nodejsSet(e)}return t.open("POST",this.host,!0),t.setRequestHeader("Content-Type","application/json"),t.timeout=this.timeout,t.withCredentials=this.withCredentials,this.headers&&this.headers.forEach((function(e){t.setRequestHeader(e.name,e.value)})),t},s.prototype.send=function(t,e){var r=this,i=this._prepareRequest();i.onreadystatechange=function(){if(4===i.readyState&&1!==i.timeout){var t=i.responseText,o=null;try{t=JSON.parse(t)}catch(t){o=n.InvalidResponse(i.responseText)}r.connected=!0,e(o,t)}},i.ontimeout=function(){r.connected=!1,e(n.ConnectionTimeout(this.timeout))};try{i.send(JSON.stringify(t))}catch(t){this.connected=!1,e(n.InvalidConnection(this.host))}},s.prototype.disconnect=function(){},s.prototype.supportsSubscriptions=function(){return!1},t.exports=s},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var r in t)e.hasOwnProperty(r)||(e[r]=t[r])}(r(277));var n=r(95);e.XMLHttpRequestEventTarget=n.XMLHttpRequestEventTarget},function(t,e,r){"use strict";(function(t,n){var i,o=(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0)return this._url=this._parseUrl(e.headers.location),this._method="GET",this._loweredHeaders["content-type"]&&(delete this._headers[this._loweredHeaders["content-type"]],delete this._loweredHeaders["content-type"]),null!=this._headers["Content-Type"]&&delete this._headers["Content-Type"],delete this._headers["Content-Length"],this.upload._reset(),this._finalizeHeaders(),void this._sendHxxpRequest();this._response=e,this._response.on("data",(function(t){return n._onHttpResponseData(e,t)})),this._response.on("end",(function(){return n._onHttpResponseEnd(e)})),this._response.on("close",(function(){return n._onHttpResponseClose(e)})),this.responseUrl=this._url.href.split("#")[0],this.status=e.statusCode,this.statusText=s.STATUS_CODES[this.status],this._parseResponseHeaders(e);var i=this._responseHeaders["content-length"]||"";this._totalBytes=+i,this._lengthComputable=!!i,this._setReadyState(r.HEADERS_RECEIVED)}},r.prototype._onHttpResponseData=function(t,e){this._response===t&&(this._responseParts.push(new n(e)),this._loadedBytes+=e.length,this.readyState!==r.LOADING&&this._setReadyState(r.LOADING),this._dispatchProgress("progress"))},r.prototype._onHttpResponseEnd=function(t){this._response===t&&(this._parseResponse(),this._request=null,this._response=null,this._setReadyState(r.DONE),this._dispatchProgress("load"),this._dispatchProgress("loadend"))},r.prototype._onHttpResponseClose=function(t){if(this._response===t){var e=this._request;this._setError(),e.abort(),this._setReadyState(r.DONE),this._dispatchProgress("error"),this._dispatchProgress("loadend")}},r.prototype._onHttpTimeout=function(t){this._request===t&&(this._setError(),t.abort(),this._setReadyState(r.DONE),this._dispatchProgress("timeout"),this._dispatchProgress("loadend"))},r.prototype._onHttpRequestError=function(t,e){this._request===t&&(this._setError(),t.abort(),this._setReadyState(r.DONE),this._dispatchProgress("error"),this._dispatchProgress("loadend"))},r.prototype._dispatchProgress=function(t){var e=new r.ProgressEvent(t);e.lengthComputable=this._lengthComputable,e.loaded=this._loadedBytes,e.total=this._totalBytes,this.dispatchEvent(e)},r.prototype._setError=function(){this._request=null,this._response=null,this._responseHeaders=null,this._responseParts=null},r.prototype._parseUrl=function(t,e,r){var n=null==this.nodejsBaseUrl?t:c.resolve(this.nodejsBaseUrl,t),i=c.parse(n,!1,!0);i.hash=null;var o=(i.auth||"").split(":"),a=o[0],s=o[1];return(a||s||e||r)&&(i.auth=(e||a||"")+":"+(r||s||"")),i},r.prototype._parseResponseHeaders=function(t){for(var e in this._responseHeaders={},t.headers){var r=e.toLowerCase();this._privateHeaders[r]||(this._responseHeaders[r]=t.headers[e])}null!=this._mimeOverride&&(this._responseHeaders["content-type"]=this._mimeOverride)},r.prototype._parseResponse=function(){var t=n.concat(this._responseParts);switch(this._responseParts=null,this.responseType){case"json":this.responseText=null;try{this.response=JSON.parse(t.toString("utf-8"))}catch(t){this.response=null}return;case"buffer":return this.responseText=null,void(this.response=t);case"arraybuffer":this.responseText=null;for(var e=new ArrayBuffer(t.length),r=new Uint8Array(e),i=0;i0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var e,r,i,o=n.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=o,i=s,e.copy(r,i),s+=a.data.length,a=a.next;return o},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,r){"use strict";(function(t,e){!function(t,r){if(!t.setImmediate){var n,i,o,a,s,u=1,f={},c=!1,h=t.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(t);d=d&&d.setTimeout?d:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick((function(){p(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){p(t.data)},n=function(t){o.port2.postMessage(t)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(t){var e=h.createElement("script");e.onreadystatechange=function(){p(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(p,0,t)}:(a="setImmediate$"+Math.random()+"$",s=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(a)&&p(+e.data.slice(a.length))},t.addEventListener?t.addEventListener("message",s,!1):t.attachEvent("onmessage",s),n=function(e){t.postMessage(a+e,"*")}),d.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}function L(t,e,r){N.call(this,t,e,r)}N.prototype.update=function(t){if(this.finalized)throw new Error("finalize already called");var e,r=(0,a.default)(t);if("string"!==r){if("object"!==r)throw new Error(s);if(null===t)throw new Error(s);if(d&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||d&&ArrayBuffer.isView(t)))throw new Error(s);e=!0}for(var n,i,o=this.blocks,u=this.byteCount,f=t.length,c=this.blockCount,h=0,l=this.s;h>2]|=t[h]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344?(o[n>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=u){for(this.start=n-u,this.block=o[c],n=0;n>=8);r>0;)i.unshift(r),r=255&(t>>=8),++n;return e?i.push(n):i.unshift(n),this.update(i),i.length},N.prototype.encodeString=function(t){var e,r=(0,a.default)(t);if("string"!==r){if("object"!==r)throw new Error(s);if(null===t)throw new Error(s);if(d&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||d&&ArrayBuffer.isView(t)))throw new Error(s);e=!0}var n=0,i=t.length;if(e)n=i;else for(var o=0;o=57344?n+=3:(u=65536+((1023&u)<<10|1023&t.charCodeAt(++o)),n+=4)}return n+=this.encode(8*n),this.update(t),n},N.prototype.bytepad=function(t,e){for(var r=this.encode(e),n=0;n>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+p[15&t]+p[t>>12&15]+p[t>>8&15]+p[t>>20&15]+p[t>>16&15]+p[t>>28&15]+p[t>>24&15];a%e==0&&(F(r),o=0)}return i&&(t=r[o],s+=p[t>>4&15]+p[15&t],i>1&&(s+=p[t>>12&15]+p[t>>8&15]),i>2&&(s+=p[t>>20&15]+p[t>>16&15])),s},N.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%r==0&&F(n)}return o&&(t=s<<2,e=n[a],u[t]=255&e,o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u},L.prototype=new N,L.prototype.finalize=function(){return this.encode(this.outputBits,!0),N.prototype.finalize.call(this)};var F=function(t){var e,r,n,i,o,a,s,u,f,c,h,l,d,p,m,b,y,g,w,_,k,M,S,A,x,E,O,P,B,T,R,I,C,U,j,N,L,F,D,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],u=t[4]^t[14]^t[24]^t[34]^t[44],f=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],h=t[7]^t[17]^t[27]^t[37]^t[47],e=(l=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),r=(d=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(u<<1|f>>>31),r=o^(f<<1|u>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(c<<1|h>>>31),r=s^(h<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=u^(l<<1|d>>>31),r=f^(d<<1|l>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(i<<1|o>>>31),r=h^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,p=t[0],m=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,P=t[20]<<3|t[21]>>>29,B=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,U=t[2]<<1|t[3]>>>31,j=t[3]<<1|t[2]>>>31,b=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,T=t[33]<<13|t[32]>>>19,R=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,N=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,k=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,O=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,M=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=p^~b&g,t[1]=m^~y&w,t[10]=A^~E&P,t[11]=x^~O&B,t[20]=U^~N&F,t[21]=j^~L&D,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=b^~g&_,t[3]=y^~w&k,t[12]=E^~P&T,t[13]=O^~B&R,t[22]=N^~F&q,t[23]=L^~D&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&M,t[5]=w^~k&S,t[14]=P^~T&I,t[15]=B^~R&C,t[24]=F^~q&z,t[25]=D^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~M&p,t[7]=k^~S&m,t[16]=T^~I&A,t[17]=R^~C&x,t[26]=q^~z&U,t[27]=H^~K&j,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=M^~p&b,t[9]=S^~m&y,t[18]=I^~A&E,t[19]=C^~x&O,t[28]=z^~U&N,t[29]=K^~j&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=v[n],t[1]^=v[n+1]};if(h)i.exports=P;else{for(T=0;T32||n256)throw new Error("Invalid uint"+n+" size");if((s=a(e)).bitLength()>n)throw new Error("Supplied uint exceeds width: "+n+" vs "+s.bitLength());if(s.lt(new i(0)))throw new Error("Supplied uint "+s.toString()+" is negative");return n?o.leftPad(s.toString("hex"),n/8*2):s}if(t.startsWith("int")){if(n%8||n<8||n>256)throw new Error("Invalid int"+n+" size");if((s=a(e)).bitLength()>n)throw new Error("Supplied int exceeds width: "+n+" vs "+s.bitLength());return s.lt(new i(0))?s.toTwos(n).toString("hex"):n?o.leftPad(s.toString("hex"),n/8*2):s}throw new Error("Unsupported or invalid type: "+t)},u=function(t){if(Array.isArray(t))throw new Error("Autodetection of array types is not supported.");var e,r,a="";if(t&&"object"===(0,n.default)(t)&&(t.hasOwnProperty("v")||t.hasOwnProperty("t")||t.hasOwnProperty("value")||t.hasOwnProperty("type"))?(e=t.hasOwnProperty("t")?t.t:t.type,a=t.hasOwnProperty("v")?t.v:t.value):(e=o.toHex(t,!0),a=o.toHex(t),e.startsWith("int")||e.startsWith("uint")||(e="bytes")),!e.startsWith("int")&&!e.startsWith("uint")||"string"!=typeof a||/^(-)?0x/i.test(a)||(a=new i(a)),Array.isArray(a)){if((r=function(t){var e=/^\D+\d*\[(\d+)\]$/.exec(t);return e?parseInt(e[1],10):null}(e))&&a.length!==r)throw new Error(e+" is not matching the given array "+JSON.stringify(a));r=a.length}return Array.isArray(a)?a.map((function(t){return s(e,t,r).toString("hex").replace("0x","")})).join(""):s(e,a,r).toString("hex").replace("0x","")};t.exports={soliditySha3:function(){var t=Array.prototype.slice.call(arguments),e=t.map(u);return o.sha3("0x"+e.join(""))},soliditySha3Raw:function(){return o.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(u).join(""))},encodePacked:function(){var t=Array.prototype.slice.call(arguments),e=t.map(u);return"0x"+e.join("").toLowerCase()}}},function(t,e,r){"use strict";var n=r(113),i=r(10).errors,o=function(t){this.requestManager=t,this.requests=[]};o.prototype.add=function(t){this.requests.push(t)},o.prototype.execute=function(){var t=this.requests;this.requestManager.sendBatch(t,(function(e,r){r=r||[],t.map((function(t,e){return r[e]||{}})).forEach((function(e,r){if(t[r].callback){if(e&&e.error)return t[r].callback(i.ErrorResponse(e));if(!n.isValidResponse(e))return t[r].callback(i.InvalidResponse(e));try{t[r].callback(null,t[r].format?t[r].format(e.result):e.result)}catch(e){t[r].callback(e)}}}))}))},t.exports=o},function(t,e,r){"use strict";var n,i=null;try{n=Function("return this")()}catch(t){n=window}void 0!==n.ethereum?i=n.ethereum:void 0!==n.web3&&n.web3.currentProvider&&(n.web3.currentProvider.sendAsync&&(n.web3.currentProvider.send=n.web3.currentProvider.sendAsync,delete n.web3.currentProvider.sendAsync),!n.web3.currentProvider.on&&n.web3.currentProvider.connection&&"ipcProviderWrapper"===n.web3.currentProvider.connection.constructor.name&&(n.web3.currentProvider.on=function(t,e){if("function"!=typeof e)throw new Error("The second parameter callback must be a function.");switch(t){case"data":this.connection.on("data",(function(t){var r="";t=t.toString();try{r=JSON.parse(t)}catch(r){return e(new Error("Couldn't parse response data"+t))}r.id||-1===r.method.indexOf("_subscription")||e(null,r)}));break;default:this.connection.on(t,e)}}),i=n.web3.currentProvider),t.exports=i},function(t,e,r){"use strict";var n=r(73),i=r(225),o=r(10).errors,a=r(230).w3cwebsocket,s=function(t,e){n.call(this),e=e||{},this.url=t,this._customTimeout=e.timeout||15e3,this.headers=e.headers||{},this.protocol=e.protocol||void 0,this.reconnectOptions=Object.assign({auto:!1,delay:5e3,maxAttempts:!1,onTimeout:!1},e.reconnect),this.clientConfig=e.clientConfig||void 0,this.requestOptions=e.requestOptions||void 0,this.DATA="data",this.CLOSE="close",this.ERROR="error",this.CONNECT="connect",this.RECONNECT="reconnect",this.connection=null,this.requestQueue=new Map,this.responseQueue=new Map,this.reconnectAttempts=0,this.reconnecting=!1;var r=i.parseURL(t);r.username&&r.password&&(this.headers.authorization="Basic "+i.btoa(r.username+":"+r.password)),r.auth&&(this.headers.authorization="Basic "+i.btoa(r.auth)),Object.defineProperty(this,"connected",{get:function(){return this.connection&&this.connection.readyState===this.connection.OPEN},enumerable:!0}),this.connect()};(s.prototype=Object.create(n.prototype)).constructor=s,s.prototype.connect=function(){this.connection=new a(this.url,this.protocol,void 0,this.headers,this.requestOptions,this.clientConfig),this._addSocketListeners()},s.prototype._onMessage=function(t){var e=this;this._parseResponse("string"==typeof t.data?t.data:"").forEach((function(t){if(t.method&&-1!==t.method.indexOf("_subscription"))e.emit(e.DATA,t);else{var r=t.id;Array.isArray(t)&&(r=t[0].id),e.responseQueue.has(r)&&(void 0!==e.responseQueue.get(r).callback&&e.responseQueue.get(r).callback(!1,t),e.responseQueue.delete(r))}}))},s.prototype._onConnect=function(){if(this.emit(this.CONNECT),this.reconnectAttempts=0,this.reconnecting=!1,this.requestQueue.size>0){var t=this;this.requestQueue.forEach((function(e,r){t.send(e.payload,e.callback),t.requestQueue.delete(r)}))}},s.prototype._onClose=function(t){var e=this;!this.reconnectOptions.auto||[1e3,1001].includes(t.code)&&!1!==t.wasClean?(this.emit(this.CLOSE,t),this.requestQueue.size>0&&this.requestQueue.forEach((function(r,n){r.callback(o.ConnectionNotOpenError(t)),e.requestQueue.delete(n)})),this.responseQueue.size>0&&this.responseQueue.forEach((function(r,n){r.callback(o.InvalidConnection("on WS",t)),e.responseQueue.delete(n)})),this._removeSocketListeners(),this.removeAllListeners()):this.reconnect()},s.prototype._addSocketListeners=function(){this.connection.addEventListener("message",this._onMessage.bind(this)),this.connection.addEventListener("open",this._onConnect.bind(this)),this.connection.addEventListener("close",this._onClose.bind(this))},s.prototype._removeSocketListeners=function(){this.connection.removeEventListener("message",this._onMessage),this.connection.removeEventListener("open",this._onConnect),this.connection.removeEventListener("close",this._onClose)},s.prototype._parseResponse=function(t){var e=this,r=[];return t.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach((function(t){e.lastChunk&&(t=e.lastChunk+t);var n=null;try{n=JSON.parse(t)}catch(r){return e.lastChunk=t,clearTimeout(e.lastChunkTimeout),void(e.lastChunkTimeout=setTimeout((function(){e.reconnectOptions.auto&&e.reconnectOptions.onTimeout?e.reconnect():(e.emit(e.ERROR,o.ConnectionTimeout(e._customTimeout)),e.requestQueue.size>0&&e.requestQueue.forEach((function(t,r){t.callback(o.ConnectionTimeout(e._customTimeout)),e.requestQueue.delete(r)})))}),e._customTimeout))}clearTimeout(e.lastChunkTimeout),e.lastChunk=null,n&&r.push(n)})),r},s.prototype.send=function(t,e){var r=t.id,n={payload:t,callback:e};if(Array.isArray(t)&&(r=t[0].id),this.connection.readyState===this.connection.CONNECTING||this.reconnecting)this.requestQueue.set(r,n);else{if(this.connection.readyState!==this.connection.OPEN)return this.requestQueue.delete(r),this.emit(this.ERROR,o.ConnectionNotOpenError()),void n.callback(o.ConnectionNotOpenError());this.responseQueue.set(r,n),this.requestQueue.delete(r);try{this.connection.send(JSON.stringify(n.payload))}catch(t){n.callback(t),this.responseQueue.delete(r)}}},s.prototype.reset=function(){this.responseQueue.clear(),this.requestQueue.clear(),this.removeAllListeners(),this._removeSocketListeners(),this._addSocketListeners()},s.prototype.disconnect=function(t,e){this._removeSocketListeners(),this.connection.close(t||1e3,e)},s.prototype.supportsSubscriptions=function(){return!0},s.prototype.reconnect=function(){var t=this;this.reconnecting=!0,this.responseQueue.size>0&&this.responseQueue.forEach((function(e,r){e.callback(o.PendingRequestsOnReconnectingError()),t.responseQueue.delete(r)})),!this.reconnectOptions.maxAttempts||this.reconnectAttempts0&&this.requestQueue.forEach((function(e,r){e.callback(o.MaxAttemptsReachedOnReconnectingError()),t.requestQueue.delete(r)})))},t.exports=s},function(t,e,r){"use strict";(function(e,n){var i="[object process]"===Object.prototype.toString.call(void 0!==e?e:0),o="undefined"!=typeof navigator&&"ReactNative"===navigator.product,a=null,s=null;if(i||o){a=function(t){return n.from(t).toString("base64")};var u=r(45);if(u.URL){var f=u.URL;s=function(t){return new f(t)}}else s=r(45).parse}else a=btoa.bind(window),s=function(t){return new URL(t)};t.exports={parseURL:s,btoa:a}}).call(this,r(6),r(1).Buffer)},function(t,e,r){"use strict";var n=r(0)(r(2));t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"===(0,n.default)(t)&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,r){"use strict";e.decode=e.parse=r(228),e.encode=e.stringify=r(229)},function(t,e,r){"use strict";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,r,o){e=e||"&",r=r||"=";var a={};if("string"!=typeof t||0===t.length)return a;var s=/\+/g;t=t.split(e);var u=1e3;o&&"number"==typeof o.maxKeys&&(u=o.maxKeys);var f=t.length;u>0&&f>u&&(f=u);for(var c=0;c=0?(h=m.substr(0,b),l=m.substr(b+1)):(h=m,l=""),d=decodeURIComponent(h),p=decodeURIComponent(l),n(a,d)?i(a[d])?a[d].push(p):a[d]=[a[d],p]:a[d]=p}return a};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=function(t){switch((0,n.default)(t)){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,r,u){return e=e||"&",r=r||"=",null===t&&(t=void 0),"object"===(0,n.default)(t)?a(s(t),(function(n){var s=encodeURIComponent(i(n))+r;return o(t[n])?a(t[n],(function(t){return s+encodeURIComponent(i(t))})).join(e):s+encodeURIComponent(i(t[n]))})).join(e):u?encodeURIComponent(i(u))+r+encodeURIComponent(i(t)):""};var o=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function a(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n (https://github.com/theturtle32)","contributors":["Iñaki Baz Castillo (http://dev.sipdoc.net)"],"version":"1.0.34","repository":{"type":"git","url":"https://github.com/theturtle32/WebSocket-Node.git"},"homepage":"https://github.com/theturtle32/WebSocket-Node","engines":{"node":">=4.0.0"},"dependencies":{"bufferutil":"^4.0.1","debug":"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2","yaeti":"^0.0.6"},"devDependencies":{"buffer-equal":"^1.0.0","gulp":"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1","jshint":"^2.0.0","tape":"^4.9.1"},"config":{"verbose":false},"scripts":{"test":"tape test/unit/*.js","gulp":"gulp"},"main":"index","directories":{"lib":"./lib"},"browser":"lib/browser.js","license":"Apache-2.0"}')},function(t,e,r){"use strict";var n=r(10).errors,i=r(235).XMLHttpRequest,o=r(74),a=r(123),s=function(t,e){e=e||{},this.withCredentials=e.withCredentials||!1,this.timeout=e.timeout||0,this.headers=e.headers,this.agent=e.agent,this.connected=!1;var r=!1!==e.keepAlive;this.host=t||"http://localhost:8545",this.agent||("https"===this.host.substring(0,5)?this.httpsAgent=new a.Agent({keepAlive:r}):this.httpAgent=new o.Agent({keepAlive:r}))};s.prototype._prepareRequest=function(){var t;if("undefined"!=typeof XMLHttpRequest)t=new XMLHttpRequest;else{t=new i;var e={httpsAgent:this.httpsAgent,httpAgent:this.httpAgent,baseUrl:this.baseUrl};this.agent&&(e.httpsAgent=this.agent.https,e.httpAgent=this.agent.http,e.baseUrl=this.agent.baseUrl),t.nodejsSet(e)}return t.open("POST",this.host,!0),t.setRequestHeader("Content-Type","application/json"),t.timeout=this.timeout,t.withCredentials=this.withCredentials,this.headers&&this.headers.forEach((function(e){t.setRequestHeader(e.name,e.value)})),t},s.prototype.send=function(t,e){var r=this,i=this._prepareRequest();i.onreadystatechange=function(){if(4===i.readyState&&1!==i.timeout){var t=i.responseText,o=null;try{t=JSON.parse(t)}catch(t){o=n.InvalidResponse(i.responseText)}r.connected=!0,e(o,t)}},i.ontimeout=function(){r.connected=!1,e(n.ConnectionTimeout(this.timeout))};try{i.send(JSON.stringify(t))}catch(t){this.connected=!1,e(n.InvalidConnection(this.host))}},s.prototype.disconnect=function(){},s.prototype.supportsSubscriptions=function(){return!1},t.exports=s},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var r in t)e.hasOwnProperty(r)||(e[r]=t[r])}(r(236));var n=r(77);e.XMLHttpRequestEventTarget=n.XMLHttpRequestEventTarget},function(t,e,r){"use strict";(function(t,n){var i,o=(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},function(t,e){function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0)return this._url=this._parseUrl(e.headers.location),this._method="GET",this._loweredHeaders["content-type"]&&(delete this._headers[this._loweredHeaders["content-type"]],delete this._loweredHeaders["content-type"]),null!=this._headers["Content-Type"]&&delete this._headers["Content-Type"],delete this._headers["Content-Length"],this.upload._reset(),this._finalizeHeaders(),void this._sendHxxpRequest();this._response=e,this._response.on("data",(function(t){return n._onHttpResponseData(e,t)})),this._response.on("end",(function(){return n._onHttpResponseEnd(e)})),this._response.on("close",(function(){return n._onHttpResponseClose(e)})),this.responseUrl=this._url.href.split("#")[0],this.status=e.statusCode,this.statusText=s.STATUS_CODES[this.status],this._parseResponseHeaders(e);var i=this._responseHeaders["content-length"]||"";this._totalBytes=+i,this._lengthComputable=!!i,this._setReadyState(r.HEADERS_RECEIVED)}},r.prototype._onHttpResponseData=function(t,e){this._response===t&&(this._responseParts.push(new n(e)),this._loadedBytes+=e.length,this.readyState!==r.LOADING&&this._setReadyState(r.LOADING),this._dispatchProgress("progress"))},r.prototype._onHttpResponseEnd=function(t){this._response===t&&(this._parseResponse(),this._request=null,this._response=null,this._setReadyState(r.DONE),this._dispatchProgress("load"),this._dispatchProgress("loadend"))},r.prototype._onHttpResponseClose=function(t){if(this._response===t){var e=this._request;this._setError(),e.abort(),this._setReadyState(r.DONE),this._dispatchProgress("error"),this._dispatchProgress("loadend")}},r.prototype._onHttpTimeout=function(t){this._request===t&&(this._setError(),t.abort(),this._setReadyState(r.DONE),this._dispatchProgress("timeout"),this._dispatchProgress("loadend"))},r.prototype._onHttpRequestError=function(t,e){this._request===t&&(this._setError(),t.abort(),this._setReadyState(r.DONE),this._dispatchProgress("error"),this._dispatchProgress("loadend"))},r.prototype._dispatchProgress=function(t){var e=new r.ProgressEvent(t);e.lengthComputable=this._lengthComputable,e.loaded=this._loadedBytes,e.total=this._totalBytes,this.dispatchEvent(e)},r.prototype._setError=function(){this._request=null,this._response=null,this._responseHeaders=null,this._responseParts=null},r.prototype._parseUrl=function(t,e,r){var n=null==this.nodejsBaseUrl?t:c.resolve(this.nodejsBaseUrl,t),i=c.parse(n,!1,!0);i.hash=null;var o=(i.auth||"").split(":"),a=o[0],s=o[1];return(a||s||e||r)&&(i.auth=(e||a||"")+":"+(r||s||"")),i},r.prototype._parseResponseHeaders=function(t){for(var e in this._responseHeaders={},t.headers){var r=e.toLowerCase();this._privateHeaders[r]||(this._responseHeaders[r]=t.headers[e])}null!=this._mimeOverride&&(this._responseHeaders["content-type"]=this._mimeOverride)},r.prototype._parseResponse=function(){var t=n.concat(this._responseParts);switch(this._responseParts=null,this.responseType){case"json":this.responseText=null;try{this.response=JSON.parse(t.toString("utf-8"))}catch(t){this.response=null}return;case"buffer":return this.responseText=null,void(this.response=t);case"arraybuffer":this.responseText=null;for(var e=new ArrayBuffer(t.length),r=new Uint8Array(e),i=0;i0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var e,r,i,o=n.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=o,i=s,e.copy(r,i),s+=a.data.length,a=a.next;return o},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,r){"use strict";(function(t,e){!function(t,r){if(!t.setImmediate){var n,i,o,a,s,u=1,f={},c=!1,h=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick((function(){p(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){p(t.data)},n=function(t){o.port2.postMessage(t)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(t){var e=h.createElement("script");e.onreadystatechange=function(){p(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(p,0,t)}:(a="setImmediate$"+Math.random()+"$",s=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(a)&&p(+e.data.slice(a.length))},t.addEventListener?t.addEventListener("message",s,!1):t.attachEvent("onmessage",s),n=function(e){t.postMessage(a+e,"*")}),l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r0&&(i=r),r=t[f++]);)switch(q++,"\n"===r?(z++,H=0):H++,U){case d:if("{"===r)U=p;else if("["===r)U=b;else if(!G(r))return K("Non-whitespace before {[.");continue;case g:case p:if(G(r))continue;if(U===g)j.push(w);else{if("}"===r){s({}),u(),U=j.pop()||l;continue}j.push(m)}if('"'!==r)return K('Malformed object key should start with " ');U=y;continue;case w:case m:if(G(r))continue;if(":"===r)U===m?(j.push(m),void 0!==o&&(s({}),a(o),o=void 0),F++):void 0!==o&&(a(o),o=void 0),U=l;else if("}"===r)void 0!==o&&(s(o),u(),o=void 0),u(),F--,U=j.pop()||l;else{if(","!==r)return K("Bad object");U===m&&j.push(m),void 0!==o&&(s(o),u(),o=void 0),U=g}continue;case b:case l:if(G(r))continue;if(U===b){if(s([]),F++,U=l,"]"===r){u(),F--,U=j.pop()||l;continue}j.push(v)}if('"'===r)U=y;else if("{"===r)U=p;else if("["===r)U=b;else if("t"===r)U=_;else if("f"===r)U=S;else if("n"===r)U=P;else if("-"===r)I+=r;else if("0"===r)I+=r,U=20;else{if(-1==="123456789".indexOf(r))return K("Bad value");I+=r,U=20}continue;case v:if(","===r)j.push(v),void 0!==o&&(s(o),u(),o=void 0),U=l;else{if("]"!==r){if(G(r))continue;return K("Bad array")}void 0!==o&&(s(o),u(),o=void 0),u(),F--,U=j.pop()||l}continue;case y:void 0===o&&(o="");var h=f-1;t:for(;;){for(;D>0;)if(L+=r,r=t.charAt(f++),4===D?(o+=String.fromCharCode(parseInt(L,16)),D=0,h=f-1):D++,!r)break t;if('"'===r&&!C){U=j.pop()||l,o+=t.substring(h,f-1);break}if(!("\\"!==r||C||(C=!0,o+=t.substring(h,f-1),r=t.charAt(f++))))break;if(C){if(C=!1,"n"===r?o+="\n":"r"===r?o+="\r":"t"===r?o+="\t":"f"===r?o+="\f":"b"===r?o+="\b":"u"===r?(D=1,L=""):o+=r,r=t.charAt(f++),h=f-1,r)continue;break}c.lastIndex=f;var V=c.exec(t);if(!V){f=t.length+1,o+=t.substring(h,f-1);break}if(f=V.index+1,!(r=t.charAt(V.index))){o+=t.substring(h,f-1);break}}continue;case _:if(!r)continue;if("r"!==r)return K("Invalid true started with t"+r);U=M;continue;case M:if(!r)continue;if("u"!==r)return K("Invalid true started with tr"+r);U=k;continue;case k:if(!r)continue;if("e"!==r)return K("Invalid true started with tru"+r);s(!0),u(),U=j.pop()||l;continue;case S:if(!r)continue;if("a"!==r)return K("Invalid false started with f"+r);U=A;continue;case A:if(!r)continue;if("l"!==r)return K("Invalid false started with fa"+r);U=x;continue;case x:if(!r)continue;if("s"!==r)return K("Invalid false started with fal"+r);U=E;continue;case E:if(!r)continue;if("e"!==r)return K("Invalid false started with fals"+r);s(!1),u(),U=j.pop()||l;continue;case P:if(!r)continue;if("u"!==r)return K("Invalid null started with n"+r);U=B;continue;case B:if(!r)continue;if("l"!==r)return K("Invalid null started with nu"+r);U=O;continue;case O:if(!r)continue;if("l"!==r)return K("Invalid null started with nul"+r);s(null),u(),U=j.pop()||l;continue;case R:if("."!==r)return K("Leading zero not followed by .");I+=r,U=20;continue;case 20:if(-1!=="0123456789".indexOf(r))I+=r;else if("."===r){if(-1!==I.indexOf("."))return K("Invalid number has two dots");I+=r}else if("e"===r||"E"===r){if(-1!==I.indexOf("e")||-1!==I.indexOf("E"))return K("Invalid number has two exponential");I+=r}else if("+"===r||"-"===r){if("e"!==i&&"E"!==i)return K("Invalid symbol in number");I+=r}else I&&(s(parseFloat(I)),u(),I=""),f--,U=j.pop()||l;continue;default:return K("Unknown state: "+U)}q>=T&&(n=0,void 0!==o&&o.length>65536&&(K("Max buffer length exceeded: textNode"),n=Math.max(n,o.length)),I.length>65536&&(K("Max buffer length exceeded: numberNode"),n=Math.max(n,I.length)),T=65536-n+q)}})),t(n.n).on((function(){if(U===d)return s({}),u(),void(N=!0);U===l&&0===F||K("Unexpected end"),void 0!==o&&(s(o),u(),o=void 0),N=!0}))}},function(t,e,r){r.d(e,"a",(function(){return u})),r.d(e,"b",(function(){return f}));var n=r(19),i=r(3),o=r(2),a=r(20),s=r(0);function u(){return new XMLHttpRequest}function f(t,e,r,u,f,c,h){var d=t(i.m).emit,l=t(i.b).emit,p=0,m=!0;function b(){if("2"===String(e.status)[0]){var t=e.responseText,r=(" "+t.substr(p)).substr(1);r&&d(r),p=Object(o.e)(t)}}function v(e){try{m&&t(i.c).emit(e.status,Object(a.a)(e.getAllResponseHeaders())),m=!1}catch(t){}}t(i.a).on((function(){e.onreadystatechange=null,e.abort()})),"onprogress"in e&&(e.onprogress=b),e.onreadystatechange=function(){switch(e.readyState){case 2:case 3:return v(e);case 4:v(e),"2"===String(e.status)[0]?(b(),t(i.n).emit()):l(Object(i.o)(e.status,e.responseText))}};try{for(var y in e.open(r,u,!0),c)e.setRequestHeader(y,c[y]);Object(n.a)(window.location,Object(n.b)(u))||e.setRequestHeader("X-Requested-With","XMLHttpRequest"),e.withCredentials=h,e.send(f)}catch(t){window.setTimeout(Object(s.j)(l,Object(i.o)(void 0,void 0,t)),0)}}},function(t,e,r){function n(t,e){function r(e){return String(e.port||{"http:":80,"https:":443}[e.protocol||t.protocol])}return!!(e.protocol&&e.protocol!==t.protocol||e.host&&e.host!==t.host||e.host&&r(e)!==r(t))}function i(t){var e=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/.exec(t)||[];return{protocol:e[1]||"",host:e[2]||"",port:e[3]||""}}r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}))},function(t,e,r){function n(t){var e={};return t&&t.split("\r\n").forEach((function(t){var r=t.indexOf(": ");e[t.substring(0,r)]=t.substring(r+2)})),e}r.d(e,"a",(function(){return n}))}]).default},"object"===(0,s.default)(e)&&"object"===(0,s.default)(t)?t.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(e,i):n)||(t.exports=o))}).call(this,r(16)(t))},function(t,e,r){"use strict";var n=r(11).formatters,i=r(35),o=r(18);t.exports=function(t){var e=function(e){var r;return e.property?(t[e.property]||(t[e.property]={}),r=t[e.property]):r=t,e.methods&&e.methods.forEach((function(e){e instanceof i||(e=new i(e)),e.attachToObject(r),e.setRequestManager(t._requestManager)})),t};return e.formatters=n,e.utils=o,e.Method=i,e}},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2)),n=function(t){var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof d?e:d,o=Object.create(i.prototype),a=new S(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return x()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=_(a,r);if(s){if(s===h)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,a),o}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var h={};function d(){}function l(){}function p(){}var m={};m[o]=function(){return this};var b=Object.getPrototypeOf,v=b&&b(b(A([])));v&&v!==r&&n.call(v,o)&&(m=v);var y=p.prototype=d.prototype=Object.create(m);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,r){var i;this._invoke=function(o,a){function s(){return new r((function(i,s){!function i(o,a,s,u){var f=c(t[o],t,a);if("throw"!==f.type){var h=f.arg,d=h.value;return d&&"object"===(0,e.default)(d)&&n.call(d,"__await")?r.resolve(d.__await).then((function(t){i("next",t,s,u)}),(function(t){i("throw",t,s,u)})):r.resolve(d).then((function(t){h.value=t,s(h)}),(function(t){return i("throw",t,s,u)}))}u(f.arg)}(o,a,i,s)}))}return i=i?i.then(s,s):s()}}function _(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,h;var i=n.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function M(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(M,this),this.reset(!0)}function A(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;k(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:A(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}("object"===(0,e.default)(t)?t.exports:{});try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}}).call(this,r(16)(t))},function(t,e,r){"use strict";t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(t,e){var r=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=r){var n,i,o=[],a=!0,s=!1;try{for(r=r.call(t);!(a=(n=r.next()).done)&&(o.push(n.value),!e||o.length!==e);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==r.return||r.return()}finally{if(s)throw i}}return o}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(11).errors,o=r(91),a=r(11).formatters;function s(t){return t}function u(t){o.call(this),this.id=null,this.callback=s,this.arguments=null,this.lastBlock=null,this.options={subscription:t.subscription,type:t.type,requestManager:t.requestManager}}u.prototype=Object.create(o.prototype),u.prototype.constructor=u,u.prototype._extractCallback=function(t){if("function"==typeof t[t.length-1])return t.pop()},u.prototype._validateArgs=function(t){var e=this.options.subscription;if(e||(e={}),e.params||(e.params=0),t.length!==e.params)throw i.InvalidNumberOfParams(t.length,e.params,e.subscriptionName)},u.prototype._formatInput=function(t){var e=this.options.subscription;return e&&e.inputFormatter?e.inputFormatter.map((function(e,r){return e?e(t[r]):t[r]})):t},u.prototype._formatOutput=function(t){var e=this.options.subscription;return e&&e.outputFormatter&&t?e.outputFormatter(t):t},u.prototype._toPayload=function(t){var e=[];if(this.callback=this._extractCallback(t)||s,this.subscriptionMethod||(this.subscriptionMethod=t.shift(),this.options.subscription.subscriptionName&&(this.subscriptionMethod=this.options.subscription.subscriptionName)),this.arguments||(this.arguments=this._formatInput(t),this._validateArgs(this.arguments),t=[]),e.push(this.subscriptionMethod),e=e.concat(this.arguments),t.length)throw new Error("Only a callback is allowed as parameter on an already instantiated subscription.");return{method:this.options.type+"_subscribe",params:e}},u.prototype.unsubscribe=function(t){this.options.requestManager.removeSubscription(this.id,t),this.id=null,this.lastBlock=null,this.removeAllListeners()},u.prototype.subscribe=function(){var t=this,e=Array.prototype.slice.call(arguments),r=this._toPayload(e);if(!r)return this;if(!this.options.requestManager.provider)return setTimeout((function(){var e=new Error("No provider set.");t.callback(e,null,t),t.emit("error",e)}),0),this;if(!this.options.requestManager.provider.on)return setTimeout((function(){var e=new Error("The current provider doesn't support subscriptions: "+t.options.requestManager.provider.constructor.name);t.callback(e,null,t),t.emit("error",e)}),0),this;if(this.lastBlock&&this.options.params&&"object"===(0,n.default)(this.options.params)&&(r.params[1]=this.options.params,r.params[1].fromBlock=a.inputBlockNumberFormatter(this.lastBlock+1)),this.id&&this.unsubscribe(),this.options.params=r.params[1],"logs"===r.params[0]&&r.params[1]&&"object"===(0,n.default)(r.params[1])&&r.params[1].hasOwnProperty("fromBlock")&&isFinite(r.params[1].fromBlock)){var i=Object.assign({},r.params[1]);this.options.requestManager.send({method:"eth_getLogs",params:[i]},(function(e,r){e?setTimeout((function(){t.callback(e,null,t),t.emit("error",e)}),0):r.forEach((function(e){var r=t._formatOutput(e);t.callback(null,r,t),t.emit("data",r)}))}))}return"object"===(0,n.default)(r.params[1])&&delete r.params[1].fromBlock,this.options.requestManager.send(r,(function(e,i){!e&&i?(t.id=i,t.method=r.params[0],t.emit("connected",i),t.options.requestManager.addSubscription(t,(function(e,r){e?(t.callback(e,!1,t),t.emit("error",e)):(Array.isArray(r)||(r=[r]),r.forEach((function(e){var r=t._formatOutput(e);if(t.lastBlock=r&&"object"===(0,n.default)(r)?r.blockNumber:null,"function"==typeof t.options.subscription.subscriptionHandler)return t.options.subscription.subscriptionHandler.call(t,r);t.emit("data",r),t.callback(null,r,t)})))}))):setTimeout((function(){t.callback(e,!1,t),t.emit("error",e)}),0)})),this},u.prototype.resubscribe=function(){this.options.requestManager.removeSubscription(this.id),this.id=null,this.subscribe(this.callback)},t.exports=u},function(t,e,r){"use strict";(function(t){var n,i=r(0)(r(2)),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(){return(a=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Hardfork=e.Chain=e.CustomChain=void 0;var u,f,c=r(22),h=r(300),d=r(301),l=r(363),p=r(370),m=r(383);!function(t){t.PolygonMainnet="polygon-mainnet",t.PolygonMumbai="polygon-mumbai",t.ArbitrumRinkebyTestnet="arbitrum-rinkeby-testnet",t.xDaiChain="x-dai-chain"}(u=e.CustomChain||(e.CustomChain={})),function(t){t[t.Mainnet=1]="Mainnet",t[t.Ropsten=3]="Ropsten",t[t.Rinkeby=4]="Rinkeby",t[t.Kovan=42]="Kovan",t[t.Goerli=5]="Goerli",t[t.Calaveras=123]="Calaveras"}(e.Chain||(e.Chain={})),function(t){t.Chainstart="chainstart",t.Homestead="homestead",t.Dao="dao",t.TangerineWhistle="tangerineWhistle",t.SpuriousDragon="spuriousDragon",t.Byzantium="byzantium",t.Constantinople="constantinople",t.Petersburg="petersburg",t.Istanbul="istanbul",t.MuirGlacier="muirGlacier",t.Berlin="berlin",t.London="london"}(f=e.Hardfork||(e.Hardfork={}));var b=function(e){function r(t){var r,n,i=e.call(this)||this;return i._supportedHardforks=[],i._eips=[],i._customChains=null!==(r=t.customChains)&&void 0!==r?r:[],i._chainParams=i.setChain(t.chain),i.DEFAULT_HARDFORK=null!==(n=i._chainParams.defaultHardfork)&&void 0!==n?n:f.Istanbul,i._hardfork=i.DEFAULT_HARDFORK,t.supportedHardforks&&(i._supportedHardforks=t.supportedHardforks),t.hardfork&&i.setHardfork(t.hardfork),t.eips&&i.setEIPs(t.eips),i}return o(r,e),r.custom=function(t,e){var n;void 0===e&&(e={});var i=null!==(n=e.baseChain)&&void 0!==n?n:"mainnet",o=a({},r._getChainParams(i));if(o.name="custom-chain","string"!=typeof t)return new r(a({chain:a(a({},o),t)},e));if(t===u.PolygonMainnet)return r.custom({name:u.PolygonMainnet,chainId:137,networkId:137});if(t===u.PolygonMumbai)return r.custom({name:u.PolygonMumbai,chainId:80001,networkId:80001});if(t===u.ArbitrumRinkebyTestnet)return r.custom({name:u.ArbitrumRinkebyTestnet,chainId:421611,networkId:421611});if(t===u.xDaiChain)return r.custom({name:u.xDaiChain,chainId:100,networkId:100});throw new Error("Custom chain "+t+" not supported")},r.forCustomChain=function(t,e,n,i){var o=r._getChainParams(t);return new r({chain:a(a({},o),e),hardfork:n,supportedHardforks:i})},r.isSupportedChainId=function(t){var e=l._getInitializedChains();return Boolean(e.names[t.toString()])},r._getChainParams=function(t,e){var r=l._getInitializedChains(e);if("number"==typeof t||d.BN.isBN(t)){if(t=t.toString(),r.names[t])return r[r.names[t]];throw new Error("Chain with ID "+t+" not supported")}if(r[t])return r[t];throw new Error("Chain with name "+t+" not supported")},r.prototype.setChain=function(t){var e,n;if("number"==typeof t||"string"==typeof t||d.BN.isBN(t))this._chainParams=r._getChainParams(t,this._customChains);else{if("object"!==(0,i.default)(t))throw new Error("Wrong input format");if(this._customChains.length>0)throw new Error("Chain must be a string, number, or BN when initialized with customChains passed in");try{for(var o=s(["networkId","genesis","hardforks","bootstrapNodes"]),a=o.next();!a.done;a=o.next()){var u=a.value;if(void 0===t[u])throw new Error("Missing required chain parameter: "+u)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}this._chainParams=t}return this._chainParams},r.prototype.setHardfork=function(t){var e,r;if(!this._isSupportedHardfork(t))throw new Error("Hardfork "+t+" not set as supported in supportedHardforks");var n=!1;try{for(var i=s(p.hardforks),o=i.next();!o.done;o=i.next()){o.value[0]===t&&(this._hardfork!==t&&(this._hardfork=t,this.emit("hardforkChanged",t)),n=!0)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}if(!n)throw new Error("Hardfork with name "+t+" not supported")},r.prototype.getHardforkByBlockNumber=function(t){var e,r;t=d.toType(t,d.TypeOutput.BN);var n=f.Chainstart;try{for(var i=s(this.hardforks()),o=i.next();!o.done;o=i.next()){var a=o.value;null!==a.block&&(t.gte(new d.BN(a.block))&&(n=a.name))}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n},r.prototype.setHardforkByBlockNumber=function(t){t=d.toType(t,d.TypeOutput.BN);var e=this.getHardforkByBlockNumber(t);return this.setHardfork(e),e},r.prototype._chooseHardfork=function(t,e){if(void 0===e&&(e=!0),t){if(e&&!this._isSupportedHardfork(t))throw new Error("Hardfork "+t+" not set as supported in supportedHardforks")}else t=this._hardfork;return t},r.prototype._getHardfork=function(t){var e,r,n=this.hardforks();try{for(var i=s(n),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.name===t)return a}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}throw new Error("Hardfork "+t+" not defined for chain "+this.chainName())},r.prototype._isSupportedHardfork=function(t){var e,r;if(!(this._supportedHardforks.length>0))return!0;try{for(var n=s(this._supportedHardforks),i=n.next();!i.done;i=n.next()){if(t===i.value)return!0}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return!1},r.prototype.setEIPs=function(t){var e,r,n=this;void 0===t&&(t=[]);var i=function(e){if(!(e in m.EIPs))throw new Error(e+" not supported");var r=o.gteHardfork(m.EIPs[e].minimumHardfork);if(!r)throw new Error(e+" cannot be activated on hardfork "+o.hardfork()+", minimumHardfork: "+r);m.EIPs[e].requiredEIPs&&m.EIPs[e].requiredEIPs.forEach((function(r){if(!t.includes(r)&&!n.isActivatedEIP(r))throw new Error(e+" requires EIP "+r+", but is not included in the EIP list")}))},o=this;try{for(var a=s(t),u=a.next();!u.done;u=a.next()){i(u.value)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}this._eips=t},r.prototype.param=function(t,e){var r,n,i=null;try{for(var o=s(this._eips),a=o.next();!a.done;a=o.next()){var u=a.value;if(null!==(i=this.paramByEIP(t,e,u)))return i}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return this.paramByHardfork(t,e,this._hardfork)},r.prototype.paramByHardfork=function(t,e,r){var n,i,o,a;r=this._chooseHardfork(r);var u=null;try{for(var f=s(p.hardforks),c=f.next();!c.done;c=f.next()){var h=c.value;if(h[1].hasOwnProperty("eips")){var d=h[1].eips;try{for(var l=(o=void 0,s(d)),m=l.next();!m.done;m=l.next()){var b=m.value,v=this.paramByEIP(t,e,b);u=null!==v?v:u}}catch(t){o={error:t}}finally{try{m&&!m.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}}else{if(!h[1][t])throw new Error("Topic "+t+" not defined");void 0!==h[1][t][e]&&(u=h[1][t][e].v)}if(h[0]===r)break}}catch(t){n={error:t}}finally{try{c&&!c.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}return u},r.prototype.paramByEIP=function(t,e,r){if(!(r in m.EIPs))throw new Error(r+" not supported");var n=m.EIPs[r];if(!(t in n))throw new Error("Topic "+t+" not defined");return void 0===n[t][e]?null:n[t][e].v},r.prototype.paramByBlock=function(t,e,r){var n=this.activeHardforks(r),i=n[n.length-1].name;return this.paramByHardfork(t,e,i)},r.prototype.isActivatedEIP=function(t){var e,r;if(this.eips().includes(t))return!0;try{for(var n=s(p.hardforks),i=n.next();!i.done;i=n.next()){var o=i.value[1];if(this.gteHardfork(o.name)&&"eips"in o&&o.eips.includes(t))return!0}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return!1},r.prototype.hardforkIsActiveOnBlock=function(t,e,r){var n;void 0===r&&(r={}),e=d.toType(e,d.TypeOutput.BN);var i=null!==(n=r.onlySupported)&&void 0!==n&&n;t=this._chooseHardfork(t,i);var o=this.hardforkBlockBN(t);return!(!o||!e.gte(o))},r.prototype.activeOnBlock=function(t,e){return this.hardforkIsActiveOnBlock(null,t,e)},r.prototype.hardforkGteHardfork=function(t,e,r){var n,i;void 0===r&&(r={});var o,a=void 0!==r.onlyActive&&r.onlyActive;t=this._chooseHardfork(t,r.onlySupported),o=a?this.activeHardforks(null,r):this.hardforks();var u=-1,f=-1,c=0;try{for(var h=s(o),d=h.next();!d.done;d=h.next()){var l=d.value;l.name===t&&(u=c),l.name===e&&(f=c),c+=1}}catch(t){n={error:t}}finally{try{d&&!d.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}return u>=f&&-1!==f},r.prototype.gteHardfork=function(t,e){return this.hardforkGteHardfork(null,t,e)},r.prototype.hardforkIsActiveOnChain=function(t,e){var r,n,i;void 0===e&&(e={});var o=null!==(i=e.onlySupported)&&void 0!==i&&i;t=this._chooseHardfork(t,o);try{for(var a=s(this.hardforks()),u=a.next();!u.done;u=a.next()){var f=u.value;if(f.name===t&&null!==f.block)return!0}}catch(t){r={error:t}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return!1},r.prototype.activeHardforks=function(t,e){var r,n;void 0===e&&(e={});var i=[],o=this.hardforks();try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var f=u.value;if(null!==f.block){if(null!=t&&t0)return r[r.length-1].name;throw new Error("No (supported) active hardfork found")},r.prototype.hardforkBlock=function(t){return d.toType(this.hardforkBlockBN(t),d.TypeOutput.Number)},r.prototype.hardforkBlockBN=function(t){return t=this._chooseHardfork(t,!1),new d.BN(this._getHardfork(t).block)},r.prototype.isHardforkBlock=function(t,e){return t=d.toType(t,d.TypeOutput.BN),e=this._chooseHardfork(e,!1),this.hardforkBlockBN(e).eq(t)},r.prototype.nextHardforkBlock=function(t){var e=this.nextHardforkBlockBN(t);return null===e?null:d.toType(e,d.TypeOutput.Number)},r.prototype.nextHardforkBlockBN=function(t){t=this._chooseHardfork(t,!1);var e=this.hardforkBlockBN(t);return this.hardforks().reduce((function(t,r){var n=new d.BN(r.block);return n.gt(e)&&null===t?n:t}),null)},r.prototype.isNextHardforkBlock=function(t,e){t=d.toType(t,d.TypeOutput.BN),e=this._chooseHardfork(e,!1);var r=this.nextHardforkBlockBN(e);return null!==r&&r.eq(t)},r.prototype._calcForkHash=function(e){var r,n,i=t.from(this.genesis().hash.substr(2),"hex"),o=t.alloc(0),a=0;try{for(var u=s(this.hardforks()),f=u.next();!f.done;f=u.next()){var c=f.value,l=c.block;if(0!==l&&null!==l&&l!==a){var p=t.from(l.toString(16).padStart(16,"0"),"hex");o=t.concat([o,p])}if(c.name===e)break;a=l}}catch(t){r={error:t}}finally{try{f&&!f.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var m=t.concat([i,o]);return"0x"+d.intToBuffer(h.buf(m)>>>0).toString("hex")},r.prototype.forkHash=function(t){t=this._chooseHardfork(t,!1);var e=this._getHardfork(t);if(null===e.block){throw new Error("No fork hash calculation possible for non-applied or future hardfork")}return void 0!==e.forkHash?e.forkHash:this._calcForkHash(t)},r.prototype.hardforkForForkHash=function(t){var e=this.hardforks().filter((function(e){return e.forkHash===t}));return e.length>=1?e[e.length-1]:null},r.prototype.genesis=function(){return this._chainParams.genesis},r.prototype.hardforks=function(){return this._chainParams.hardforks},r.prototype.bootstrapNodes=function(){return this._chainParams.bootstrapNodes},r.prototype.dnsNetworks=function(){return this._chainParams.dnsNetworks},r.prototype.hardfork=function(){return this._hardfork},r.prototype.chainId=function(){return d.toType(this.chainIdBN(),d.TypeOutput.Number)},r.prototype.chainIdBN=function(){return new d.BN(this._chainParams.chainId)},r.prototype.chainName=function(){return this._chainParams.name},r.prototype.networkId=function(){return d.toType(this.networkIdBN(),d.TypeOutput.Number)},r.prototype.networkIdBN=function(){return new d.BN(this._chainParams.networkId)},r.prototype.eips=function(){return this._eips},r.prototype.consensusType=function(){return this._chainParams.consensus.type},r.prototype.consensusAlgorithm=function(){return this._chainParams.consensus.algorithm},r.prototype.consensusConfig=function(){return this._chainParams.consensus[this.consensusAlgorithm()]},r.prototype.copy=function(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)},r}(c.EventEmitter);e.default=b}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n,i,o=r(0)(r(2));i=function(t){t.version="1.2.0";var e=function(){for(var t=0,e=new Array(256),r=0;256!=r;++r)t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=r)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1,e[r]=t;return"undefined"!=typeof Int32Array?new Int32Array(e):e}();t.table=e,t.bstr=function(t,r){for(var n=-1^r,i=t.length-1,o=0;o>>8^e[255&(n^t.charCodeAt(o++))])>>>8^e[255&(n^t.charCodeAt(o++))];return o===i&&(n=n>>>8^e[255&(n^t.charCodeAt(o))]),-1^n},t.buf=function(t,r){if(t.length>1e4)return function(t,r){for(var n=-1^r,i=t.length-7,o=0;o>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])];for(;o>>8^e[255&(n^t[o++])];return-1^n}(t,r);for(var n=-1^r,i=t.length-3,o=0;o>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])];for(;o>>8^e[255&(n^t[o++])];return-1^n},t.str=function(t,r){for(var n,i,o=-1^r,a=0,s=t.length;a>>8^e[255&(o^n)]:n<2048?o=(o=o>>>8^e[255&(o^(192|n>>6&31))])>>>8^e[255&(o^(128|63&n))]:n>=55296&&n<57344?(n=64+(1023&n),i=1023&t.charCodeAt(a++),o=(o=(o=(o=o>>>8^e[255&(o^(240|n>>8&7))])>>>8^e[255&(o^(128|n>>2&63))])>>>8^e[255&(o^(128|i>>6&15|(3&n)<<4))])>>>8^e[255&(o^(128|63&i))]):o=(o=(o=o>>>8^e[255&(o^(224|n>>12&15))])>>>8^e[255&(o^(128|n>>6&63))])>>>8^e[255&(o^(128|63&n))];return-1^o}},"undefined"==typeof DO_NOT_EXPORT_CRC?"object"===(0,o.default)(e)?i(e):void 0===(n=function(){var t={};return i(t),t}.call(e,r,e,t))||(t.exports=n):i({})}).call(this,r(16)(t))},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=function(t,e){for(var r in t)"default"===r||e.hasOwnProperty(r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),i(r(147),e),i(r(148),e),i(r(359),e),i(r(100),e),i(r(360),e),i(r(39),e),i(r(361),e),i(r(362),e),i(r(102),e),i(r(45),e)},function(t,e){},function(t,e){},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:function(t){return new Uint8Array(t)},e=arguments.length>1?arguments[1]:void 0;return"function"==typeof t&&(t=t(e)),y("output",t,e),t}function _(t){return Object.prototype.toString.call(t).slice(8,-1)}t.exports=function(t){return{contextRandomize:function(e){switch(v(null===e||e instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==e&&y("seed",e,32),t.contextRandomize(e)){case 1:throw new Error(u)}},privateKeyVerify:function(e){return y("private key",e,32),0===t.privateKeyVerify(e)},privateKeyNegate:function(e){switch(y("private key",e,32),t.privateKeyNegate(e)){case 0:return e;case 1:throw new Error(o)}},privateKeyTweakAdd:function(e,r){switch(y("private key",e,32),y("tweak",r,32),t.privateKeyTweakAdd(e,r)){case 0:return e;case 1:throw new Error(a)}},privateKeyTweakMul:function(e,r){switch(y("private key",e,32),y("tweak",r,32),t.privateKeyTweakMul(e,r)){case 0:return e;case 1:throw new Error(s)}},publicKeyVerify:function(e){return y("public key",e,[33,65]),0===t.publicKeyVerify(e)},publicKeyCreate:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("private key",e,32),g(r),n=w(n,r?33:65),t.publicKeyCreate(n,e)){case 0:return n;case 1:throw new Error(f);case 2:throw new Error(h)}},publicKeyConvert:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("public key",e,[33,65]),g(r),n=w(n,r?33:65),t.publicKeyConvert(n,e)){case 0:return n;case 1:throw new Error(c);case 2:throw new Error(h)}},publicKeyNegate:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("public key",e,[33,65]),g(r),n=w(n,r?33:65),t.publicKeyNegate(n,e)){case 0:return n;case 1:throw new Error(c);case 2:throw new Error(o);case 3:throw new Error(h)}},publicKeyCombine:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;v(Array.isArray(e),"Expected public keys to be an Array"),v(e.length>0,"Expected public keys array will have more than zero items");var o,a=n(e);try{for(a.s();!(o=a.n()).done;){var s=o.value;y("public key",s,[33,65])}}catch(t){a.e(t)}finally{a.f()}switch(g(r),i=w(i,r?33:65),t.publicKeyCombine(i,e)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(d);case 3:throw new Error(h)}},publicKeyTweakAdd:function(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("tweak",r,32),g(n),i=w(i,n?33:65),t.publicKeyTweakAdd(i,e,r)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(a)}},publicKeyTweakMul:function(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("tweak",r,32),g(n),i=w(i,n?33:65),t.publicKeyTweakMul(i,e,r)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(s)}},signatureNormalize:function(e){switch(y("signature",e,64),t.signatureNormalize(e)){case 0:return e;case 1:throw new Error(l)}},signatureExport:function(e,r){y("signature",e,64);var n={output:r=w(r,72),outputlen:72};switch(t.signatureExport(n,e)){case 0:return r.slice(0,n.outputlen);case 1:throw new Error(l);case 2:throw new Error(o)}},signatureImport:function(e,r){switch(y("signature",e),r=w(r,64),t.signatureImport(r,e)){case 0:return r;case 1:throw new Error(l);case 2:throw new Error(o)}},ecdsaSign:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;y("message",e,32),y("private key",r,32),v("Object"===_(n),"Expected options to be an Object"),void 0!==n.data&&y("options.data",n.data),void 0!==n.noncefn&&v("Function"===_(n.noncefn),"Expected options.noncefn to be a Function");var a={signature:i=w(i,64),recid:null};switch(t.ecdsaSign(a,e,r,n.data,n.noncefn)){case 0:return a;case 1:throw new Error(p);case 2:throw new Error(o)}},ecdsaVerify:function(e,r,n){switch(y("signature",e,64),y("message",r,32),y("public key",n,[33,65]),t.ecdsaVerify(e,r,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(l);case 2:throw new Error(c)}},ecdsaRecover:function(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4?arguments[4]:void 0;switch(y("signature",e,64),v("Number"===_(r)&&r>=0&&r<=3,"Expected recovery id to be a Number within interval [0, 3]"),y("message",n,32),g(i),a=w(a,i?33:65),t.ecdsaRecover(a,e,r,n)){case 0:return a;case 1:throw new Error(l);case 2:throw new Error(m);case 3:throw new Error(o)}},ecdh:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("private key",r,32),v("Object"===_(n),"Expected options to be an Object"),void 0!==n.data&&y("options.data",n.data),void 0!==n.hashfn?(v("Function"===_(n.hashfn),"Expected options.hashfn to be a Function"),void 0!==n.xbuf&&y("options.xbuf",n.xbuf,32),void 0!==n.ybuf&&y("options.ybuf",n.ybuf,32),y("output",i)):i=w(i,32),t.ecdh(i,e,r,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(b)}}}}},function(t,e,r){"use strict";var n=new(0,r(306).ec)("secp256k1"),i=n.curve,o=i.n.constructor;function a(t){var e=t[0];switch(e){case 2:case 3:return 33!==t.length?null:function(t,e){var r=new o(e);if(r.cmp(i.p)>=0)return null;var a=(r=r.toRed(i.red)).redSqr().redIMul(r).redIAdd(i.b).redSqrt();return 3===t!==a.isOdd()&&(a=a.redNeg()),n.keyPair({pub:{x:r,y:a}})}(e,t.subarray(1,33));case 4:case 6:case 7:return 65!==t.length?null:function(t,e,r){var a=new o(e),s=new o(r);if(a.cmp(i.p)>=0||s.cmp(i.p)>=0)return null;if(a=a.toRed(i.red),s=s.toRed(i.red),(6===t||7===t)&&s.isOdd()!==(7===t))return null;var u=a.redSqr().redIMul(a);return s.redSqr().redISub(u.redIAdd(i.b)).isZero()?n.keyPair({pub:{x:a,y:s}}):null}(e,t.subarray(1,33),t.subarray(33,65));default:return null}}function s(t,e){for(var r=e.encode(null,33===t.length),n=0;n=0)return 1;if(r.iadd(new o(t)),r.cmp(i.n)>=0&&r.isub(i.n),r.isZero())return 1;var n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},privateKeyTweakMul:function(t,e){var r=new o(e);if(r.cmp(i.n)>=0||r.isZero())return 1;r.imul(new o(t)),r.cmp(i.n)>=0&&(r=r.umod(i.n));var n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},publicKeyVerify:function(t){return null===a(t)?1:0},publicKeyCreate:function(t,e){var r=new o(e);return r.cmp(i.n)>=0||r.isZero()?1:(s(t,n.keyFromPrivate(e).getPublic()),0)},publicKeyConvert:function(t,e){var r=a(e);return null===r?1:(s(t,r.getPublic()),0)},publicKeyNegate:function(t,e){var r=a(e);if(null===r)return 1;var n=r.getPublic();return n.y=n.y.redNeg(),s(t,n),0},publicKeyCombine:function(t,e){for(var r=new Array(e.length),n=0;n=0)return 2;var u=n.getPublic().add(i.g.mul(r));return u.isInfinity()?2:(s(t,u),0)},publicKeyTweakMul:function(t,e,r){var n=a(e);return null===n?1:(r=new o(r)).cmp(i.n)>=0||r.isZero()?2:(s(t,n.getPublic().mul(r)),0)},signatureNormalize:function(t){var e=new o(t.subarray(0,32)),r=new o(t.subarray(32,64));return e.cmp(i.n)>=0||r.cmp(i.n)>=0?1:(1===r.cmp(n.nh)&&t.set(i.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport:function(t,e){var r=e.subarray(0,32),n=e.subarray(32,64);if(new o(r).cmp(i.n)>=0)return 1;if(new o(n).cmp(i.n)>=0)return 1;var a=t.output,s=a.subarray(4,37);s[0]=0,s.set(r,1);for(var u=33,f=0;u>1&&0===s[f]&&!(128&s[f+1]);--u,++f);if(128&(s=s.subarray(f))[0])return 1;if(u>1&&0===s[0]&&!(128&s[1]))return 1;var c=a.subarray(39,72);c[0]=0,c.set(n,1);for(var h=33,d=0;h>1&&0===c[d]&&!(128&c[d+1]);--h,++d);return 128&(c=c.subarray(d))[0]||h>1&&0===c[0]&&!(128&c[1])?1:(t.outputlen=6+u+h,a[0]=48,a[1]=t.outputlen-2,a[2]=2,a[3]=s.length,a.set(s,4),a[4+u]=2,a[5+u]=c.length,a.set(c,6+u),0)},signatureImport:function(t,e){if(e.length<8)return 1;if(e.length>72)return 1;if(48!==e[0])return 1;if(e[1]!==e.length-2)return 1;if(2!==e[2])return 1;var r=e[3];if(0===r)return 1;if(5+r>=e.length)return 1;if(2!==e[4+r])return 1;var n=e[5+r];if(0===n)return 1;if(6+r+n!==e.length)return 1;if(128&e[4])return 1;if(r>1&&0===e[4]&&!(128&e[5]))return 1;if(128&e[r+6])return 1;if(n>1&&0===e[r+6]&&!(128&e[r+7]))return 1;var a=e.subarray(4,4+r);if(33===a.length&&0===a[0]&&(a=a.subarray(1)),a.length>32)return 1;var s=e.subarray(6+r);if(33===s.length&&0===s[0]&&(s=s.slice(1)),s.length>32)throw new Error("S length is too long");var u=new o(a);u.cmp(i.n)>=0&&(u=new o(0));var f=new o(e.subarray(6+r));return f.cmp(i.n)>=0&&(f=new o(0)),t.set(u.toArrayLike(Uint8Array,"be",32),0),t.set(f.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign:function(t,e,r,a,s){if(s){var u=s;s=function(t){var n=u(e,r,null,a,t);if(!(n instanceof Uint8Array&&32===n.length))throw new Error("This is the way");return new o(n)}}var f,c=new o(r);if(c.cmp(i.n)>=0||c.isZero())return 1;try{f=n.sign(e,r,{canonical:!0,k:s,pers:a})}catch(t){return 1}return t.signature.set(f.r.toArrayLike(Uint8Array,"be",32),0),t.signature.set(f.s.toArrayLike(Uint8Array,"be",32),32),t.recid=f.recoveryParam,0},ecdsaVerify:function(t,e,r){var s={r:t.subarray(0,32),s:t.subarray(32,64)},u=new o(s.r),f=new o(s.s);if(u.cmp(i.n)>=0||f.cmp(i.n)>=0)return 1;if(1===f.cmp(n.nh)||u.isZero()||f.isZero())return 3;var c=a(r);if(null===c)return 2;var h=c.getPublic();return n.verify(e,s,h)?0:3},ecdsaRecover:function(t,e,r,a){var u,f={r:e.slice(0,32),s:e.slice(32,64)},c=new o(f.r),h=new o(f.s);if(c.cmp(i.n)>=0||h.cmp(i.n)>=0)return 1;if(c.isZero()||h.isZero())return 2;try{u=n.recoverPubKey(a,f,r)}catch(t){return 2}return s(t,u),0},ecdh:function(t,e,r,s,u,f,c){var h=a(e);if(null===h)return 1;var d=new o(r);if(d.cmp(i.n)>=0||d.isZero())return 2;var l=h.getPublic().mul(d);if(void 0===u)for(var p=l.encode(null,!0),m=n.hash().update(p).digest(),b=0;b<32;++b)t[b]=m[b];else{f||(f=new Uint8Array(32));for(var v=l.getX().toArray("be",32),y=0;y<32;++y)f[y]=v[y];c||(c=new Uint8Array(32));for(var g=l.getY().toArray("be",32),w=0;w<32;++w)c[w]=g[w];var _=u(f,c,s);if(!(_ instanceof Uint8Array&&_.length===t.length))return 2;t.set(_)}return 0}}},function(t,e,r){"use strict";var n=e;n.version=r(307).version,n.utils=r(19),n.rand=r(152),n.curve=r(153),n.curves=r(98),n.ec=r(319),n.eddsa=r(323)},function(t){t.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')},function(t,e){},function(t,e,r){"use strict";var n=r(19),i=r(26),o=r(10),a=r(75),s=n.assert;function u(t){a.call(this,"short",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function f(t,e,r,n){a.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(e,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function c(t,e,r,n){a.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(e,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new i(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)r=new i(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?r=o[0]:(r=o[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new i(t.a,16),b:new i(t.b,16)}})):this._getEndoBasis(r)}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:i.mont(t),r=new i(2).toRed(e).redInvm(),n=r.redNeg(),o=new i(3).toRed(e).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(t){for(var e,r,n,o,a,s,u,f,c,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=t,l=this.n.clone(),p=new i(1),m=new i(0),b=new i(0),v=new i(1),y=0;0!==d.cmpn(0);){var g=l.div(d);f=l.sub(g.mul(d)),c=b.sub(g.mul(p));var w=v.sub(g.mul(m));if(!n&&f.cmp(h)<0)e=u.neg(),r=p,n=f.neg(),o=c;else if(n&&2==++y)break;u=f,l=d,d=f,b=p,p=c,v=m,m=w}a=f.neg(),s=c;var _=n.sqr().add(o.sqr());return a.sqr().add(s.sqr()).cmp(_)>=0&&(a=e,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),f=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:u.add(f).neg()}},u.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(e&&!o||!e&&o)&&(n=n.redNeg()),this.point(t,n)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},f.prototype.isInfinity=function(){return this.inf},f.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},f.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},f.prototype.getX=function(){return this.x.fromRed()},f.prototype.getY=function(){return this.y.fromRed()},f.prototype.mul=function(t){return t=new i(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},f.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},f.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},f.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},f.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(c,a.BasePoint),u.prototype.jpoint=function(t,e,r){return new c(this,t,e,r)},c.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},c.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},c.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=s.redSqr(),c=f.redMul(s),h=n.redMul(f),d=u.redSqr().redIAdd(c).redISub(h).redISub(h),l=u.redMul(h.redISub(d)).redISub(o.redMul(c)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(d,l,p)},c.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),c=r.redMul(u),h=s.redSqr().redIAdd(f).redISub(c).redISub(c),d=s.redMul(c.redISub(h)).redISub(i.redMul(f)),l=this.z.redMul(a);return this.curve.jpoint(h,d,l)},c.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(t,e,r){"use strict";var n=r(26),i=r(10),o=r(75),a=r(19);function s(t){o.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,r){o.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(s,o),t.exports=s,s.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},i(u,o.BasePoint),s.prototype.decodePoint=function(t,e){return this.point(a.toArray(t,e),1)},s.prototype.point=function(t,e){return new u(this,t,e)},s.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),a=i.redMul(n),s=e.z.redMul(o.redAdd(a).redSqr()),u=e.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,u)},u.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(t,e,r){"use strict";var n=r(19),i=r(26),o=r(10),a=r(75),s=n.assert;function u(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,a.call(this,"edwards",t),this.a=new i(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function f(t,e,r,n,o){a.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(e,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,a),t.exports=u,u.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},u.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},u.prototype.jpoint=function(t,e,r,n){return this.point(t,e,r,n)},u.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=n.redMul(o.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var u=s.fromRed().isOdd();return(e&&!u||!e&&u)&&(s=s.redNeg()),this.point(t,s)},u.prototype.pointFromY=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=n.redMul(o.redInvm());if(0===a.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},u.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),n=e.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===n.cmp(i)},o(f,a.BasePoint),u.prototype.pointFromJSON=function(t){return f.fromJSON(this,t)},u.prototype.point=function(t,e,r,n){return new f(this,t,e,r,n)},f.fromJSON=function(t,e){return new f(t,e[0],e[1],e[2])},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},f.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),a=o.redSub(r),s=n.redSub(e),u=i.redMul(a),f=o.redMul(s),c=i.redMul(s),h=a.redMul(o);return this.curve.point(u,f,h,c)},f.prototype._projDbl=function(){var t,e,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var f=(n=this.curve._mulA(s)).redAdd(u);this.zOne?(t=a.redSub(s).redSub(u).redMul(f.redSub(this.curve.two)),e=f.redMul(n.redSub(u)),r=f.redSqr().redSub(f).redSub(f)):(i=this.z.redSqr(),o=f.redSub(i).redISub(i),t=a.redSub(s).redISub(u).redMul(o),e=f.redMul(n.redSub(u)),r=f.redMul(o))}else n=s.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),t=this.curve._mulC(a.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(s.redISub(u)),r=n.redMul(o);return this.curve.point(t,e,r)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},f.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=i.redSub(n),s=i.redAdd(n),u=r.redAdd(e),f=o.redMul(a),c=s.redMul(u),h=o.redMul(u),d=a.redMul(s);return this.curve.point(f,c,d,h)},f.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),u=i.redSub(s),f=i.redAdd(s),c=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),h=n.redMul(u).redMul(c);return this.curve.twisted?(e=n.redMul(f).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(f)):(e=n.redMul(f).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(f)),this.curve.point(h,e,r)},f.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},f.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},f.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},f.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},f.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()},f.prototype.getY=function(){return this.normalize(),this.y.fromRed()},f.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},f.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},f.prototype.toP=f.prototype.normalize,f.prototype.mixedAdd=f.prototype.add},function(t,e,r){"use strict";e.sha1=r(313),e.sha224=r(314),e.sha256=r(155),e.sha384=r(315),e.sha512=r(156)},function(t,e,r){"use strict";var n=r(27),i=r(63),o=r(154),a=n.rotl32,s=n.sum32,u=n.sum32_5,f=o.ft_1,c=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,c),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;e0))return a.iaddn(1),this.keyFromPrivate(a)}},d.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},d.prototype.sign=function(t,e,r,a){"object"===(0,n.default)(r)&&(a=r,r=null),a||(a={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new i(t,16));for(var s=this.n.byteLength(),u=e.getPrivate().toArray("be",s),f=t.toArray("be",s),c=new o({hash:this.hash,entropy:u,nonce:f,pers:a.pers,persEnc:a.persEnc||"utf8"}),d=this.n.sub(new i(1)),l=0;;l++){var p=a.k?a.k(l):new i(c.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(d)>=0)){var m=this.g.mul(p);if(!m.isInfinity()){var b=m.getX(),v=b.umod(this.n);if(0!==v.cmpn(0)){var y=p.invm(this.n).mul(v.mul(e.getPrivate()).iadd(t));if(0!==(y=y.umod(this.n)).cmpn(0)){var g=(m.getY().isOdd()?1:0)|(0!==b.cmp(v)?2:0);return a.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),g^=1),new h({r:v,s:y,recoveryParam:g})}}}}}},d.prototype.verify=function(t,e,r,n){t=this._truncateToN(new i(t,16)),r=this.keyFromPublic(r,n);var o=(e=new h(e,"hex")).r,a=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,u=a.invm(this.n),f=u.mul(t).umod(this.n),c=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(f,r.getPublic(),c)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(f,r.getPublic(),c)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},d.prototype.recoverPubKey=function(t,e,r,n){f((3&r)===r,"The recovery param is more than two bits"),e=new h(e,n);var o=this.n,a=new i(t),s=e.r,u=e.s,c=1&r,d=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");s=d?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var l=e.r.invm(o),p=o.sub(a).mul(l).umod(o),m=u.mul(l).umod(o);return this.g.mulAdd(p,s,m)},d.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},function(t,e,r){"use strict";var n=r(99),i=r(151),o=r(38);function a(t){if(!(this instanceof a))return new a(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=i.toArray(t.entropy,t.entropyEnc||"hex"),r=i.toArray(t.nonce,t.nonceEnc||"hex"),n=i.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}t.exports=a,a.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},a.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length"}},function(t,e,r){"use strict";var n=r(26),i=r(19),o=i.assert;function a(t,e){if(t instanceof a)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function s(){this.place=0}function u(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function f(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=a,a.prototype._importDER=function(t,e){t=i.toArray(t,e);var r=new s;if(48!==t[r.place++])return!1;var o=u(t,r);if(!1===o)return!1;if(o+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var a=u(t,r);if(!1===a)return!1;var f=t.slice(r.place,a+r.place);if(r.place+=a,2!==t[r.place++])return!1;var c=u(t,r);if(!1===c)return!1;if(t.length!==c+r.place)return!1;var h=t.slice(r.place,c+r.place);if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new n(f),this.s=new n(h),this.recoveryParam=null,!0},a.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=f(e),r=f(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];c(n,e.length),(n=n.concat(e)).push(2),c(n,r.length);var o=n.concat(r),a=[48];return c(a,o.length),a=a.concat(o),i.encode(a,t)}},function(t,e,r){"use strict";var n=r(99),i=r(98),o=r(19),a=o.assert,s=o.parseBytes,u=r(324),f=r(325);function c(t){if(a("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof c))return new c(t);t=i[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=c,c.prototype.sign=function(t,e){t=s(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),u=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},c.prototype.verify=function(t,e,r){t=s(t),e=this.makeSignature(e);var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},c.prototype.hashInt=function(){for(var t=this.hash(),e=0;e4294967295)throw new RangeError("requested too many random bytes");var r=i.allocUnsafe(t);if(t>0)if(t>65536)for(var a=0;a>>this.count%4*8&255,this.count+=1,this.count===this.blockSize&&(n.p1600(this.state),this.count=0);return r},i.prototype.copy=function(t){for(var e=0;e<50;++e)t.state[e]=this.state[e];t.blockSize=this.blockSize,t.count=this.count,t.squeezing=this.squeezing},t.exports=i}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];e.p1600=function(t){for(var e=0;e<24;++e){var r=t[0]^t[10]^t[20]^t[30]^t[40],i=t[1]^t[11]^t[21]^t[31]^t[41],o=t[2]^t[12]^t[22]^t[32]^t[42],a=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],u=t[5]^t[15]^t[25]^t[35]^t[45],f=t[6]^t[16]^t[26]^t[36]^t[46],c=t[7]^t[17]^t[27]^t[37]^t[47],h=t[8]^t[18]^t[28]^t[38]^t[48],d=t[9]^t[19]^t[29]^t[39]^t[49],l=h^(o<<1|a>>>31),p=d^(a<<1|o>>>31),m=t[0]^l,b=t[1]^p,v=t[10]^l,y=t[11]^p,g=t[20]^l,w=t[21]^p,_=t[30]^l,M=t[31]^p,k=t[40]^l,S=t[41]^p;l=r^(s<<1|u>>>31),p=i^(u<<1|s>>>31);var A=t[2]^l,x=t[3]^p,E=t[12]^l,P=t[13]^p,B=t[22]^l,O=t[23]^p,R=t[32]^l,T=t[33]^p,I=t[42]^l,C=t[43]^p;l=o^(f<<1|c>>>31),p=a^(c<<1|f>>>31);var N=t[4]^l,U=t[5]^p,j=t[14]^l,L=t[15]^p,D=t[24]^l,F=t[25]^p,q=t[34]^l,H=t[35]^p,z=t[44]^l,K=t[45]^p;l=s^(h<<1|d>>>31),p=u^(d<<1|h>>>31);var G=t[6]^l,V=t[7]^p,W=t[16]^l,Z=t[17]^p,J=t[26]^l,X=t[27]^p,Y=t[36]^l,$=t[37]^p,Q=t[46]^l,tt=t[47]^p;l=f^(r<<1|i>>>31),p=c^(i<<1|r>>>31);var et=t[8]^l,rt=t[9]^p,nt=t[18]^l,it=t[19]^p,ot=t[28]^l,at=t[29]^p,st=t[38]^l,ut=t[39]^p,ft=t[48]^l,ct=t[49]^p,ht=m,dt=b,lt=y<<4|v>>>28,pt=v<<4|y>>>28,mt=g<<3|w>>>29,bt=w<<3|g>>>29,vt=M<<9|_>>>23,yt=_<<9|M>>>23,gt=k<<18|S>>>14,wt=S<<18|k>>>14,_t=A<<1|x>>>31,Mt=x<<1|A>>>31,kt=P<<12|E>>>20,St=E<<12|P>>>20,At=B<<10|O>>>22,xt=O<<10|B>>>22,Et=T<<13|R>>>19,Pt=R<<13|T>>>19,Bt=I<<2|C>>>30,Ot=C<<2|I>>>30,Rt=U<<30|N>>>2,Tt=N<<30|U>>>2,It=j<<6|L>>>26,Ct=L<<6|j>>>26,Nt=F<<11|D>>>21,Ut=D<<11|F>>>21,jt=q<<15|H>>>17,Lt=H<<15|q>>>17,Dt=K<<29|z>>>3,Ft=z<<29|K>>>3,qt=G<<28|V>>>4,Ht=V<<28|G>>>4,zt=Z<<23|W>>>9,Kt=W<<23|Z>>>9,Gt=J<<25|X>>>7,Vt=X<<25|J>>>7,Wt=Y<<21|$>>>11,Zt=$<<21|Y>>>11,Jt=tt<<24|Q>>>8,Xt=Q<<24|tt>>>8,Yt=et<<27|rt>>>5,$t=rt<<27|et>>>5,Qt=nt<<20|it>>>12,te=it<<20|nt>>>12,ee=at<<7|ot>>>25,re=ot<<7|at>>>25,ne=st<<8|ut>>>24,ie=ut<<8|st>>>24,oe=ft<<14|ct>>>18,ae=ct<<14|ft>>>18;t[0]=ht^~kt&Nt,t[1]=dt^~St&Ut,t[10]=qt^~Qt&mt,t[11]=Ht^~te&bt,t[20]=_t^~It&Gt,t[21]=Mt^~Ct&Vt,t[30]=Yt^~lt&At,t[31]=$t^~pt&xt,t[40]=Rt^~zt&ee,t[41]=Tt^~Kt&re,t[2]=kt^~Nt&Wt,t[3]=St^~Ut&Zt,t[12]=Qt^~mt&Et,t[13]=te^~bt&Pt,t[22]=It^~Gt&ne,t[23]=Ct^~Vt&ie,t[32]=lt^~At&jt,t[33]=pt^~xt&Lt,t[42]=zt^~ee&vt,t[43]=Kt^~re&yt,t[4]=Nt^~Wt&oe,t[5]=Ut^~Zt&ae,t[14]=mt^~Et&Dt,t[15]=bt^~Pt&Ft,t[24]=Gt^~ne>,t[25]=Vt^~ie&wt,t[34]=At^~jt&Jt,t[35]=xt^~Lt&Xt,t[44]=ee^~vt&Bt,t[45]=re^~yt&Ot,t[6]=Wt^~oe&ht,t[7]=Zt^~ae&dt,t[16]=Et^~Dt&qt,t[17]=Pt^~Ft&Ht,t[26]=ne^~gt&_t,t[27]=ie^~wt&Mt,t[36]=jt^~Jt&Yt,t[37]=Lt^~Xt&$t,t[46]=vt^~Bt&Rt,t[47]=yt^~Ot&Tt,t[8]=oe^~ht&kt,t[9]=ae^~dt&St,t[18]=Dt^~qt&Qt,t[19]=Ft^~Ht&te,t[28]=gt^~_t&It,t[29]=wt^~Mt&Ct,t[38]=Jt^~Yt<,t[39]=Xt^~$t&pt,t[48]=Bt^~Rt&zt,t[49]=Ot^~Tt&Kt,t[0]^=n[2*e],t[1]^=n[2*e+1]}}},function(t,e,r){"use strict";var n=r(10),i=r(342),o=r(352),a=r(353),s=r(358);function u(t){s.call(this,"digest"),this._hash=t}n(u,s),u.prototype._update=function(t){this._hash.update(t)},u.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new i:"rmd160"===t||"ripemd160"===t?new o:new u(a(t))}},function(t,e,r){"use strict";var n=r(10),i=r(160),o=r(23).Buffer,a=new Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(t,e){return t<>>32-e}function f(t,e,r,n,i,o,a){return u(t+(e&r|~e&n)+i+o|0,a)+e|0}function c(t,e,r,n,i,o,a){return u(t+(e&n|r&~n)+i+o|0,a)+e|0}function h(t,e,r,n,i,o,a){return u(t+(e^r^n)+i+o|0,a)+e|0}function d(t,e,r,n,i,o,a){return u(t+(r^(e|~n))+i+o|0,a)+e|0}n(s,i),s.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=f(r,n,i,o,t[0],3614090360,7),o=f(o,r,n,i,t[1],3905402710,12),i=f(i,o,r,n,t[2],606105819,17),n=f(n,i,o,r,t[3],3250441966,22),r=f(r,n,i,o,t[4],4118548399,7),o=f(o,r,n,i,t[5],1200080426,12),i=f(i,o,r,n,t[6],2821735955,17),n=f(n,i,o,r,t[7],4249261313,22),r=f(r,n,i,o,t[8],1770035416,7),o=f(o,r,n,i,t[9],2336552879,12),i=f(i,o,r,n,t[10],4294925233,17),n=f(n,i,o,r,t[11],2304563134,22),r=f(r,n,i,o,t[12],1804603682,7),o=f(o,r,n,i,t[13],4254626195,12),i=f(i,o,r,n,t[14],2792965006,17),r=c(r,n=f(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=c(o,r,n,i,t[6],3225465664,9),i=c(i,o,r,n,t[11],643717713,14),n=c(n,i,o,r,t[0],3921069994,20),r=c(r,n,i,o,t[5],3593408605,5),o=c(o,r,n,i,t[10],38016083,9),i=c(i,o,r,n,t[15],3634488961,14),n=c(n,i,o,r,t[4],3889429448,20),r=c(r,n,i,o,t[9],568446438,5),o=c(o,r,n,i,t[14],3275163606,9),i=c(i,o,r,n,t[3],4107603335,14),n=c(n,i,o,r,t[8],1163531501,20),r=c(r,n,i,o,t[13],2850285829,5),o=c(o,r,n,i,t[2],4243563512,9),i=c(i,o,r,n,t[7],1735328473,14),r=h(r,n=c(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=h(o,r,n,i,t[8],2272392833,11),i=h(i,o,r,n,t[11],1839030562,16),n=h(n,i,o,r,t[14],4259657740,23),r=h(r,n,i,o,t[1],2763975236,4),o=h(o,r,n,i,t[4],1272893353,11),i=h(i,o,r,n,t[7],4139469664,16),n=h(n,i,o,r,t[10],3200236656,23),r=h(r,n,i,o,t[13],681279174,4),o=h(o,r,n,i,t[0],3936430074,11),i=h(i,o,r,n,t[3],3572445317,16),n=h(n,i,o,r,t[6],76029189,23),r=h(r,n,i,o,t[9],3654602809,4),o=h(o,r,n,i,t[12],3873151461,11),i=h(i,o,r,n,t[15],530742520,16),r=d(r,n=h(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=d(o,r,n,i,t[7],1126891415,10),i=d(i,o,r,n,t[14],2878612391,15),n=d(n,i,o,r,t[5],4237533241,21),r=d(r,n,i,o,t[12],1700485571,6),o=d(o,r,n,i,t[3],2399980690,10),i=d(i,o,r,n,t[10],4293915773,15),n=d(n,i,o,r,t[1],2240044497,21),r=d(r,n,i,o,t[8],1873313359,6),o=d(o,r,n,i,t[15],4264355552,10),i=d(i,o,r,n,t[6],2734768916,15),n=d(n,i,o,r,t[13],1309151649,21),r=d(r,n,i,o,t[4],4149444226,6),o=d(o,r,n,i,t[11],3174756917,10),i=d(i,o,r,n,t[2],718787259,15),n=d(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=s},function(t,e,r){"use strict";(e=t.exports=r(161)).Stream=e,e.Readable=e,e.Writable=r(165),e.Duplex=r(48),e.Transform=r(166),e.PassThrough=r(350),e.finished=r(101),e.pipeline=r(351)},function(t,e){},function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return a.alloc(0);for(var e,r,n,i=a.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=i,n=s,a.prototype.copy.call(e,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=a.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:u,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&a.forEach(f),o||(a.forEach(f),i(n))}))}));return e.reduce(c)}},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(10),o=r(160),a=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],f=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],c=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],h=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function l(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(t,e){return t<>>32-e}function m(t,e,r,n,i,o,a,s){return p(t+(e^r^n)+o+a|0,s)+i|0}function b(t,e,r,n,i,o,a,s){return p(t+(e&r|~e&n)+o+a|0,s)+i|0}function v(t,e,r,n,i,o,a,s){return p(t+((e|~r)^n)+o+a|0,s)+i|0}function y(t,e,r,n,i,o,a,s){return p(t+(e&n|r&~n)+o+a|0,s)+i|0}function g(t,e,r,n,i,o,a,s){return p(t+(e^(r|~n))+o+a|0,s)+i|0}i(l,o),l.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,l=0|this._e,w=0|this._a,_=0|this._b,M=0|this._c,k=0|this._d,S=0|this._e,A=0;A<80;A+=1){var x,E;A<16?(x=m(r,n,i,o,l,t[s[A]],h[0],f[A]),E=g(w,_,M,k,S,t[u[A]],d[0],c[A])):A<32?(x=b(r,n,i,o,l,t[s[A]],h[1],f[A]),E=y(w,_,M,k,S,t[u[A]],d[1],c[A])):A<48?(x=v(r,n,i,o,l,t[s[A]],h[2],f[A]),E=v(w,_,M,k,S,t[u[A]],d[2],c[A])):A<64?(x=y(r,n,i,o,l,t[s[A]],h[3],f[A]),E=b(w,_,M,k,S,t[u[A]],d[3],c[A])):(x=g(r,n,i,o,l,t[s[A]],h[4],f[A]),E=m(w,_,M,k,S,t[u[A]],d[4],c[A])),r=l,l=o,o=p(i,10),i=n,n=x,w=S,S=k,k=p(M,10),M=_,_=E}var P=this._b+i+k|0;this._b=this._c+o+S|0,this._c=this._d+l+w|0,this._d=this._e+r+_|0,this._e=this._a+n+M|0,this._a=P},l.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=l},function(t,e,r){"use strict";var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=r(354),n.sha1=r(355),n.sha224=r(356),n.sha256=r(167),n.sha384=r(357),n.sha512=r(168)},function(t,e,r){"use strict";var n=r(10),i=r(49),o=r(23).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function f(t){return t<<30|t>>>2}function c(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var d=0;d<80;++d){var l=~~(d/20),p=0|((e=n)<<5|e>>>27)+c(l,i,o,s)+u+r[d]+a[l];u=s,s=o,o=f(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},function(t,e,r){"use strict";var n=r(10),i=r(49),o=r(23).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function f(t){return t<<5|t>>>27}function c(t){return t<<30|t>>>2}function h(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,d=0;d<16;++d)r[d]=t.readInt32BE(4*d);for(;d<80;++d)r[d]=(e=r[d-3]^r[d-8]^r[d-14]^r[d-16])<<1|e>>>31;for(var l=0;l<80;++l){var p=~~(l/20),m=f(n)+h(p,i,o,s)+u+r[l]+a[p]|0;u=s,s=o,o=c(i),i=n,n=m}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},function(t,e,r){"use strict";var n=r(10),i=r(167),o=r(49),a=r(23).Buffer,s=new Array(64);function u(){this.init(),this._w=s,o.call(this,64,56)}n(u,i),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=u},function(t,e,r){"use strict";var n=r(10),i=r(168),o=r(49),a=r(23).Buffer,s=new Array(160);function u(){this.init(),this._w=s,o.call(this,128,112)}n(u,i),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},function(t,e,r){"use strict";var n=r(23).Buffer,i=r(46).Transform,o=r(25).StringDecoder;function a(t){i.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(10)(a,i),a.prototype.update=function(t,e,r){"string"==typeof t&&(t=n.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},a.prototype.setAutoPadding=function(){},a.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},a.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},a.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},a.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},a.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},a.prototype._finalOrDigest=function(t){var e=this.__final()||n.alloc(0);return t&&(e=this._toString(e,t,!0)),e},a.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new o(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},t.exports=a},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Address=void 0;var i=n(r(44)),o=n(r(37)),a=r(39),s=r(148),u=function(){function e(t){i.default(20===t.length,"Invalid address length"),this.buf=t}return e.zero=function(){return new e(a.zeros(20))},e.fromString=function(t){return i.default(s.isValidAddress(t),"Invalid address"),new e(a.toBuffer(t))},e.fromPublicKey=function(r){return i.default(t.isBuffer(r),"Public key should be Buffer"),new e(s.pubToAddress(r))},e.fromPrivateKey=function(r){return i.default(t.isBuffer(r),"Private key should be Buffer"),new e(s.privateToAddress(r))},e.generate=function(r,n){return i.default(o.default.isBN(n)),new e(s.generateAddress(r.buf,n.toArrayLike(t)))},e.generate2=function(r,n,o){return i.default(t.isBuffer(n)),i.default(t.isBuffer(o)),new e(s.generateAddress2(r.buf,n,o))},e.prototype.equals=function(t){return this.buf.equals(t.buf)},e.prototype.isZero=function(){return this.equals(e.zero())},e.prototype.isPrecompileOrSystemAddress=function(){var t=new o.default(this.buf),e=new o.default(0),r=new o.default("ffff","hex");return t.gte(e)&&t.lte(r)},e.prototype.toString=function(){return"0x"+this.buf.toString("hex")},e.prototype.toBuffer=function(){return t.from(this.buf)},e}();e.Address=u}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.hashPersonalMessage=e.isValidSignature=e.fromRpcSig=e.toCompactSig=e.toRpcSig=e.ecrecover=e.ecsign=void 0;var i=r(149),o=n(r(37)),a=r(39),s=r(100),u=r(76),f=r(102);function c(t,e){var r=f.toType(t,f.TypeOutput.BN);if(!e)return r.subn(27);var n=f.toType(e,f.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function h(t){var e=new o.default(t);return e.eqn(0)||e.eqn(1)}e.ecsign=function(e,r,n){var o=i.ecdsaSign(e,r),a=o.signature,s=o.recid,u=t.from(a.slice(0,32)),c=t.from(a.slice(32,64));if(!n||"number"==typeof n){if(n&&!Number.isSafeInteger(n))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:u,s:c,v:n?s+(2*n+35):s+27}}return{r:u,s:c,v:f.toType(n,f.TypeOutput.BN).muln(2).addn(35).addn(s).toArrayLike(t)}},e.ecrecover=function(e,r,n,o,s){var u=t.concat([a.setLengthLeft(n,32),a.setLengthLeft(o,32)],64),f=c(r,s);if(!h(f))throw new Error("Invalid signature v value");var d=i.ecdsaRecover(u,f.toNumber(),e);return t.from(i.publicKeyConvert(d,!1).slice(1))},e.toRpcSig=function(e,r,n,i){if(!h(c(e,i)))throw new Error("Invalid signature v value");return a.bufferToHex(t.concat([a.setLengthLeft(r,32),a.setLengthLeft(n,32),a.toBuffer(e)]))},e.toCompactSig=function(e,r,n,i){if(!h(c(e,i)))throw new Error("Invalid signature v value");var o=f.toType(e,f.TypeOutput.Number),s=n;return(o>28&&o%2==1||1===o||28===o)&&((s=t.from(n))[0]|=128),a.bufferToHex(t.concat([a.setLengthLeft(r,32),a.setLengthLeft(s,32)]))},e.fromRpcSig=function(t){var e,r,n,i=a.toBuffer(t);if(i.length>=65)e=i.slice(0,32),r=i.slice(32,64),n=a.bufferToInt(i.slice(64));else{if(64!==i.length)throw new Error("Invalid signature length");e=i.slice(0,32),r=i.slice(32,64),n=a.bufferToInt(i.slice(32,33))>>7,r[0]&=127}return n<27&&(n+=27),{v:n,r:e,s:r}},e.isValidSignature=function(t,e,r,n,i){void 0===n&&(n=!0);var a=new o.default("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new o.default("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==e.length||32!==r.length)return!1;if(!h(c(t,i)))return!1;var u=new o.default(e),f=new o.default(r);return!(u.isZero()||u.gt(s)||f.isZero()||f.gt(s))&&(!n||1!==f.cmp(a))},e.hashPersonalMessage=function(e){u.assertIsBuffer(e);var r=t.from("Ethereum Signed Message:\n"+e.length.toString(),"utf-8");return s.keccak(t.concat([r,e]))}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2)),i=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},o=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&i(e,t,r);return o(e,t),e},s=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.defineProperties=void 0;var u=s(r(44)),f=a(r(45)),c=a(r(74)),h=r(39);e.defineProperties=function(e,r,i){if(e.raw=[],e._fields=[],e.toJSON=function(t){if(void 0===t&&(t=!1),t){var r={};return e._fields.forEach((function(t){r[t]="0x"+e[t].toString("hex")})),r}return h.baToJSON(e.raw)},e.serialize=function(){return c.encode(e.raw)},r.forEach((function(r,n){function i(){return e.raw[n]}function o(i){"00"!==(i=h.toBuffer(i)).toString("hex")||r.allowZero||(i=t.allocUnsafe(0)),r.allowLess&&r.length?(i=h.unpadBuffer(i),u.default(r.length>=i.length,"The field "+r.name+" must not have more "+r.length+" bytes")):r.allowZero&&0===i.length||!r.length||u.default(r.length===i.length,"The field "+r.name+" must have byte length of "+r.length),e.raw[n]=i}e._fields.push(r.name),Object.defineProperty(e,r.name,{enumerable:!0,configurable:!0,get:i,set:o}),r.default&&(e[r.name]=r.default),r.alias&&Object.defineProperty(e,r.alias,{enumerable:!1,configurable:!0,set:o,get:i})})),i)if("string"==typeof i&&(i=t.from(f.stripHexPrefix(i),"hex")),t.isBuffer(i)&&(i=c.decode(i)),Array.isArray(i)){if(i.length>e._fields.length)throw new Error("wrong number of fields in data");i.forEach((function(t,r){e[e._fields[r]]=h.toBuffer(t)}))}else{if("object"!==(0,n.default)(i))throw new Error("invalid data");var o=Object.keys(i);r.forEach((function(t){-1!==o.indexOf(t.name)&&(e[t.name]=i[t.name]),-1!==o.indexOf(t.alias)&&(e[t.alias]=i[t.alias])}))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e},a=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.rlp=e.BN=void 0;var s=a(r(37));e.BN=s.default;var u=o(r(74));e.rlp=u},function(t,e,r){"use strict";var n=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.chains=e._getInitializedChains=void 0;var o=i(r(364)),a=i(r(365)),s=i(r(366)),u=i(r(367)),f=i(r(368)),c=i(r(369));function h(t){var e,r,i={1:"mainnet",3:"ropsten",4:"rinkeby",42:"kovan",5:"goerli",123:"calaveras"},h={mainnet:o.default,ropsten:a.default,rinkeby:s.default,kovan:u.default,goerli:f.default,calaveras:c.default};if(t)try{for(var d=n(t),l=d.next();!l.done;l=d.next()){var p=l.value,m=p.name;i[p.chainId.toString()]=m,h[m]=p}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}return h.names=i,h}e._getInitializedChains=h,e.chains=h()},function(t){t.exports=JSON.parse('{"name":"mainnet","chainId":1,"networkId":1,"defaultHardfork":"istanbul","consensus":{"type":"pow","algorithm":"ethash","ethash":{}},"comment":"The Ethereum main chain","url":"https://ethstats.net/","genesis":{"hash":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","timestamp":null,"gasLimit":5000,"difficulty":17179869184,"nonce":"0x0000000000000042","extraData":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","stateRoot":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xfc64ec04"},{"name":"homestead","block":1150000,"forkHash":"0x97c2c34c"},{"name":"dao","block":1920000,"forkHash":"0x91d1f948"},{"name":"tangerineWhistle","block":2463000,"forkHash":"0x7a64da13"},{"name":"spuriousDragon","block":2675000,"forkHash":"0x3edd5b10"},{"name":"byzantium","block":4370000,"forkHash":"0xa00bc324"},{"name":"constantinople","block":7280000,"forkHash":"0x668db0af"},{"name":"petersburg","block":7280000,"forkHash":"0x668db0af"},{"name":"istanbul","block":9069000,"forkHash":"0x879d6e30"},{"name":"muirGlacier","block":9200000,"forkHash":"0xe029e991"},{"name":"berlin","block":12244000,"forkHash":"0x0eb440f6"},{"name":"london","block":12965000,"forkHash":"0xb715077d"}],"bootstrapNodes":[{"ip":"18.138.108.67","port":30303,"id":"d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666","location":"ap-southeast-1-001","comment":"bootnode-aws-ap-southeast-1-001"},{"ip":"3.209.45.79","port":30303,"id":"22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de","location":"us-east-1-001","comment":"bootnode-aws-us-east-1-001"},{"ip":"34.255.23.113","port":30303,"id":"ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758","location":"eu-west-1-001","comment":"bootnode-aws-eu-west-1-001"},{"ip":"35.158.244.151","port":30303,"id":"279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8","location":"eu-central-1-001","comment":"bootnode-aws-eu-central-1-001"},{"ip":"52.187.207.27","port":30303,"id":"8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a","location":"australiaeast-001","comment":"bootnode-azure-australiaeast-001"},{"ip":"191.234.162.198","port":30303,"id":"103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1","location":"brazilsouth-001","comment":"bootnode-azure-brazilsouth-001"},{"ip":"52.231.165.108","port":30303,"id":"715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8","location":"koreasouth-001","comment":"bootnode-azure-koreasouth-001"},{"ip":"104.42.217.25","port":30303,"id":"5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f","location":"westus-001","comment":"bootnode-azure-westus-001"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"ropsten","chainId":3,"networkId":3,"defaultHardfork":"istanbul","consensus":{"type":"pow","algorithm":"ethash","ethash":{}},"comment":"PoW test network","url":"https://github.com/ethereum/ropsten","genesis":{"hash":"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d","timestamp":null,"gasLimit":16777216,"difficulty":1048576,"nonce":"0x0000000000000042","extraData":"0x3535353535353535353535353535353535353535353535353535353535353535","stateRoot":"0x217b0bbcfb72e2d57e28f33cb361b9983513177755dc3f33ce3e7022ed62b77b"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x30c7ddbc"},{"name":"homestead","block":0,"forkHash":"0x30c7ddbc"},{"name":"dao","block":null,"forkHash":null},{"name":"tangerineWhistle","block":0,"forkHash":"0x30c7ddbc"},{"name":"spuriousDragon","block":10,"forkHash":"0x63760190"},{"name":"byzantium","block":1700000,"forkHash":"0x3ea159c7"},{"name":"constantinople","block":4230000,"forkHash":"0x97b544f3"},{"name":"petersburg","block":4939394,"forkHash":"0xd6e2149b"},{"name":"istanbul","block":6485846,"forkHash":"0x4bc66396"},{"name":"muirGlacier","block":7117117,"forkHash":"0x6727ef90"},{"name":"berlin","block":9812189,"forkHash":"0xa157d377"},{"name":"london","block":10499401,"forkHash":"0x7119b6b3"}],"bootstrapNodes":[{"ip":"52.176.7.10","port":30303,"id":"30b7ab30a01c124a6cceca36863ece12c4f5fa68e3ba9b0b51407ccc002eeed3b3102d20a88f1c1d3c3154e2449317b8ef95090e77b312d5cc39354f86d5d606","location":"","comment":"US-Azure geth"},{"ip":"52.176.100.77","port":30303,"id":"865a63255b3bb68023b6bffd5095118fcc13e79dcf014fe4e47e065c350c7cc72af2e53eff895f11ba1bbb6a2b33271c1116ee870f266618eadfc2e78aa7349c","location":"","comment":"US-Azure parity"},{"ip":"52.232.243.152","port":30303,"id":"6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f","location":"","comment":"Parity"},{"ip":"192.81.208.223","port":30303,"id":"94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09","location":"","comment":"@gpip"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.ropsten.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"rinkeby","chainId":4,"networkId":4,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"clique","clique":{"period":15,"epoch":30000}},"comment":"PoA test network","url":"https://www.rinkeby.io","genesis":{"hash":"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177","timestamp":"0x58ee40ba","gasLimit":4700000,"difficulty":1,"nonce":"0x0000000000000000","extraData":"0x52657370656374206d7920617574686f7269746168207e452e436172746d616e42eb768f2244c8811c63729a21a3569731535f067ffc57839b00206d1ad20c69a1981b489f772031b279182d99e65703f0076e4812653aab85fca0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x53580584816f617295ea26c0e17641e0120cab2f0a8ffb53a866fd53aa8e8c2d"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x3b8e0691"},{"name":"homestead","block":1,"forkHash":"0x60949295"},{"name":"dao","block":null,"forkHash":null},{"name":"tangerineWhistle","block":2,"forkHash":"0x8bde40dd"},{"name":"spuriousDragon","block":3,"forkHash":"0xcb3a64bb"},{"name":"byzantium","block":1035301,"forkHash":"0x8d748b57"},{"name":"constantinople","block":3660663,"forkHash":"0xe49cab14"},{"name":"petersburg","block":4321234,"forkHash":"0xafec6b27"},{"name":"istanbul","block":5435345,"forkHash":"0xcbdb8838"},{"name":"berlin","block":8290928,"forkHash":"0x6910c8bd"},{"name":"london","block":8897988,"forkHash":"0x8e29f2f3"}],"bootstrapNodes":[{"ip":"52.169.42.101","port":30303,"id":"a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf","location":"","comment":"IE"},{"ip":"52.3.158.184","port":30303,"id":"343149e4feefa15d882d9fe4ac7d88f885bd05ebb735e547f12e12080a9fa07c8014ca6fd7f373123488102fe5e34111f8509cf0b7de3f5b44339c9f25e87cb8","location":"","comment":"INFURA"},{"ip":"159.89.28.211","port":30303,"id":"b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6","location":"","comment":"AKASHA"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.rinkeby.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"kovan","chainId":42,"networkId":42,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"aura","aura":{}},"comment":"Parity PoA test network","url":"https://kovan-testnet.github.io/website/","genesis":{"hash":"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9","timestamp":null,"gasLimit":6000000,"difficulty":131072,"nonce":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","extraData":"0x","stateRoot":"0x2480155b48a1cea17d67dbfdfaafe821c1d19cdd478c5358e8ec56dec24502b2"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x010ffe56"},{"name":"homestead","block":0,"forkHash":"0x010ffe56"},{"name":"dao","block":null,"forkHash":"0x010ffe56"},{"name":"tangerineWhistle","block":0,"forkHash":"0x010ffe56"},{"name":"spuriousDragon","block":0,"forkHash":"0x010ffe56"},{"name":"byzantium","block":5067000,"forkHash":"0x7f83c620"},{"name":"constantinople","block":9200000,"forkHash":"0xa94e3dc4"},{"name":"petersburg","block":10255201,"forkHash":"0x186874aa"},{"name":"istanbul","block":14111141,"forkHash":"0x7f6599a6"},{"name":"berlin","block":null,"forkHash":null},{"name":"london","block":null,"forkHash":null}],"bootstrapNodes":[{"ip":"116.203.116.241","port":30303,"id":"16898006ba2cd4fa8bf9a3dfe32684c178fa861df144bfc21fe800dc4838a03e342056951fa9fd533dcb0be1219e306106442ff2cf1f7e9f8faa5f2fc1a3aa45","location":"","comment":"1"},{"ip":"3.217.96.11","port":30303,"id":"2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0","location":"","comment":"2"},{"ip":"108.61.170.124","port":30303,"id":"740e1c8ea64e71762c71a463a04e2046070a0c9394fcab5891d41301dc473c0cff00ebab5a9bc87fbcb610ab98ac18225ff897bc8b7b38def5975d5ceb0a7d7c","location":"","comment":"3"},{"ip":"157.230.31.163","port":30303,"id":"2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0","location":"","comment":"4"}]}')},function(t){t.exports=JSON.parse('{"name":"goerli","chainId":5,"networkId":5,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"clique","clique":{"period":15,"epoch":30000}},"comment":"Cross-client PoA test network","url":"https://github.com/goerli/testnet","genesis":{"hash":"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a","timestamp":"0x5c51a607","gasLimit":10485760,"difficulty":1,"nonce":"0x0000000000000000","extraData":"0x22466c6578692069732061207468696e6722202d204166726900000000000000e0a2bd4258d2768837baa26a28fe71dc079f84c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x5d6cded585e73c4e322c30c2f782a336316f17dd85a4863b9d838d2d4b8b3008"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xa3f5ab08"},{"name":"homestead","block":0,"forkHash":"0xa3f5ab08"},{"name":"dao","block":null,"forkHash":"0xa3f5ab08"},{"name":"tangerineWhistle","block":0,"forkHash":"0xa3f5ab08"},{"name":"spuriousDragon","block":0,"forkHash":"0xa3f5ab08"},{"name":"byzantium","block":0,"forkHash":"0xa3f5ab08"},{"name":"constantinople","block":0,"forkHash":"0xa3f5ab08"},{"name":"petersburg","block":0,"forkHash":"0xa3f5ab08"},{"name":"istanbul","block":1561651,"forkHash":"0xc25efa5c"},{"name":"berlin","block":4460644,"forkHash":"0x757a1c47"},{"name":"london","block":5062605,"forkHash":"0xb8c6299d"}],"bootstrapNodes":[{"ip":"51.141.78.53","port":30303,"id":"011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a","location":"","comment":"Upstream bootnode 1"},{"ip":"13.93.54.137","port":30303,"id":"176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b","location":"","comment":"Upstream bootnode 2"},{"ip":"94.237.54.114","port":30313,"id":"46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291","location":"","comment":"Upstream bootnode 3"},{"ip":"18.218.250.66","port":30313,"id":"b5948a2d3e9d486c4d75bf32713221c2bd6cf86463302339299bd227dc2e276cd5a1c7ca4f43a0e9122fe9af884efed563bd2a1fd28661f3b5f5ad7bf1de5949","location":"","comment":"Upstream bootnode 4"},{"ip":"3.11.147.67","port":30303,"id":"a61215641fb8714a373c80edbfa0ea8878243193f57c96eeb44d0bc019ef295abd4e044fd619bfc4c59731a73fb79afe84e9ab6da0c743ceb479cbb6d263fa91","location":"","comment":"Ethereum Foundation bootnode"},{"ip":"51.15.116.226","port":30303,"id":"a869b02cec167211fb4815a82941db2e7ed2936fd90e78619c53eb17753fcf0207463e3419c264e2a1dd8786de0df7e68cf99571ab8aeb7c4e51367ef186b1dd","location":"","comment":"Goerli Initiative bootnode"},{"ip":"51.15.119.157","port":30303,"id":"807b37ee4816ecf407e9112224494b74dd5933625f655962d892f2f0f02d7fbbb3e2a94cf87a96609526f30c998fd71e93e2f53015c558ffc8b03eceaf30ee33","location":"","comment":"Goerli Initiative bootnode"},{"ip":"51.15.119.157","port":40303,"id":"a59e33ccd2b3e52d578f1fbd70c6f9babda2650f0760d6ff3b37742fdcdfdb3defba5d56d315b40c46b70198c7621e63ffa3f987389c7118634b0fefbbdfa7fd","location":"","comment":"Goerli Initiative bootnode"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.goerli.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"calaveras","chainId":123,"networkId":123,"defaultHardfork":"berlin","consensus":{"type":"poa","algorithm":"clique","clique":{"period":30,"epoch":30000}},"comment":"The Calaveras testnet chain","url":"https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/client-integration-testnets/calaveras.md","genesis":{"hash":"0xeb9233d066c275efcdfed8037f4fc082770176aefdbcb7691c71da412a5670f2","gasLimit":"0x47b760","difficulty":"0x1","nonce":"0x0000000000000000","extraData":"0x00000000000000000000000000000000000000000000000000000000000000005211cea3870c7ba7c6c44b185e62eecdb864cd8c560228ce57d31efbf64c200b2c200aacec78cf17a7148e784fe95a7a750335f8b9572ee28d72e7650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x664c93de37eb4a72953ea42b8c046cdb64c9f0b0bca5505ade8d970d49ebdb8c","timestamp":"0x60b3877f"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xe34c4aff"},{"name":"homestead","block":0,"forkHash":"0xe34c4aff"},{"name":"dao","block":null,"forkHash":"0xe34c4aff"},{"name":"tangerineWhistle","block":0,"forkHash":"0xe34c4aff"},{"name":"spuriousDragon","block":0,"forkHash":"0xe34c4aff"},{"name":"byzantium","block":0,"forkHash":"0xe34c4aff"},{"name":"constantinople","block":0,"forkHash":"0xe34c4aff"},{"name":"petersburg","block":0,"forkHash":"0xe34c4aff"},{"name":"istanbul","block":0,"forkHash":"0xe34c4aff"},{"name":"berlin","block":0,"forkHash":"0xe34c4aff"},{"name":"london","block":500,"forkHash":"0x173783e4"}],"bootstrapNodes":[{"ip":"3.21.156.138","port":30303,"id":"39eb08bbfad87481553c471a63ff2a4b4885fffa4ff50f1cf46744d9ad6e2f764ede146fe4df563fa9ccda1a46b9b1a88fb08135e1bf1d71b320912499da773d","location":"","comment":"Calaveras bootnode 1"},{"ip":"3.9.20.133","port":30303,"id":"9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9","location":"","comment":"Calaveras bootnode 2"}]}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hardforks=void 0,e.hardforks=[["chainstart",r(371)],["homestead",r(372)],["dao",r(373)],["tangerineWhistle",r(374)],["spuriousDragon",r(375)],["byzantium",r(376)],["constantinople",r(377)],["petersburg",r(378)],["istanbul",r(379)],["muirGlacier",r(380)],["berlin",r(381)],["london",r(382)]]},function(t){t.exports=JSON.parse('{"name":"chainstart","comment":"Start of the Ethereum main chain","url":"","status":"","gasConfig":{"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be"},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations"},"maxRefundQuotient":{"v":2,"d":"Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)"}},"gasPrices":{"base":{"v":2,"d":"Gas base cost, used e.g. for ChainID opcode (Istanbul)"},"tierStep":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them"},"exp":{"v":10,"d":"Base fee of the EXP opcode"},"expByte":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction"},"sha3":{"v":30,"d":"Base fee of the SHA3 opcode"},"sha3Word":{"v":6,"d":"Once per word of the SHA3 operation\'s data"},"sload":{"v":50,"d":"Base fee of the SLOAD opcode"},"sstoreSet":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero"},"sstoreReset":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero"},"sstoreRefund":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero"},"jumpdest":{"v":1,"d":"Base fee of the JUMPDEST opcode"},"log":{"v":375,"d":"Base fee of the LOG opcode"},"logData":{"v":8,"d":"Per byte in a LOG* operation\'s data"},"logTopic":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas"},"create":{"v":32000,"d":"Base fee of the CREATE opcode"},"call":{"v":40,"d":"Base fee of the CALL opcode"},"callStipend":{"v":2300,"d":"Free gas given at beginning of call"},"callValueTransfer":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero"},"callNewAccount":{"v":25000,"d":"Paid for CALL when the destination address didn\'t exist prior"},"selfdestructRefund":{"v":24000,"d":"Refunded following a selfdestruct operation"},"memory":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL"},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation"},"createData":{"v":200,"d":""},"tx":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions"},"txCreation":{"v":32000,"d":"The cost of creating a contract via tx"},"txDataZero":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions"},"txDataNonZero":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions"},"copy":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added"},"ecRecover":{"v":3000,"d":""},"sha256":{"v":60,"d":""},"sha256Word":{"v":12,"d":""},"ripemd160":{"v":600,"d":""},"ripemd160Word":{"v":120,"d":""},"identity":{"v":15,"d":""},"identityWord":{"v":3,"d":""},"stop":{"v":0,"d":"Base fee of the STOP opcode"},"add":{"v":3,"d":"Base fee of the ADD opcode"},"mul":{"v":5,"d":"Base fee of the MUL opcode"},"sub":{"v":3,"d":"Base fee of the SUB opcode"},"div":{"v":5,"d":"Base fee of the DIV opcode"},"sdiv":{"v":5,"d":"Base fee of the SDIV opcode"},"mod":{"v":5,"d":"Base fee of the MOD opcode"},"smod":{"v":5,"d":"Base fee of the SMOD opcode"},"addmod":{"v":8,"d":"Base fee of the ADDMOD opcode"},"mulmod":{"v":8,"d":"Base fee of the MULMOD opcode"},"signextend":{"v":5,"d":"Base fee of the SIGNEXTEND opcode"},"lt":{"v":3,"d":"Base fee of the LT opcode"},"gt":{"v":3,"d":"Base fee of the GT opcode"},"slt":{"v":3,"d":"Base fee of the SLT opcode"},"sgt":{"v":3,"d":"Base fee of the SGT opcode"},"eq":{"v":3,"d":"Base fee of the EQ opcode"},"iszero":{"v":3,"d":"Base fee of the ISZERO opcode"},"and":{"v":3,"d":"Base fee of the AND opcode"},"or":{"v":3,"d":"Base fee of the OR opcode"},"xor":{"v":3,"d":"Base fee of the XOR opcode"},"not":{"v":3,"d":"Base fee of the NOT opcode"},"byte":{"v":3,"d":"Base fee of the BYTE opcode"},"address":{"v":2,"d":"Base fee of the ADDRESS opcode"},"balance":{"v":20,"d":"Base fee of the BALANCE opcode"},"origin":{"v":2,"d":"Base fee of the ORIGIN opcode"},"caller":{"v":2,"d":"Base fee of the CALLER opcode"},"callvalue":{"v":2,"d":"Base fee of the CALLVALUE opcode"},"calldataload":{"v":3,"d":"Base fee of the CALLDATALOAD opcode"},"calldatasize":{"v":2,"d":"Base fee of the CALLDATASIZE opcode"},"calldatacopy":{"v":3,"d":"Base fee of the CALLDATACOPY opcode"},"codesize":{"v":2,"d":"Base fee of the CODESIZE opcode"},"codecopy":{"v":3,"d":"Base fee of the CODECOPY opcode"},"gasprice":{"v":2,"d":"Base fee of the GASPRICE opcode"},"extcodesize":{"v":20,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":20,"d":"Base fee of the EXTCODECOPY opcode"},"blockhash":{"v":20,"d":"Base fee of the BLOCKHASH opcode"},"coinbase":{"v":2,"d":"Base fee of the COINBASE opcode"},"timestamp":{"v":2,"d":"Base fee of the TIMESTAMP opcode"},"number":{"v":2,"d":"Base fee of the NUMBER opcode"},"difficulty":{"v":2,"d":"Base fee of the DIFFICULTY opcode"},"gaslimit":{"v":2,"d":"Base fee of the GASLIMIT opcode"},"pop":{"v":2,"d":"Base fee of the POP opcode"},"mload":{"v":3,"d":"Base fee of the MLOAD opcode"},"mstore":{"v":3,"d":"Base fee of the MSTORE opcode"},"mstore8":{"v":3,"d":"Base fee of the MSTORE8 opcode"},"sstore":{"v":0,"d":"Base fee of the SSTORE opcode"},"jump":{"v":8,"d":"Base fee of the JUMP opcode"},"jumpi":{"v":10,"d":"Base fee of the JUMPI opcode"},"pc":{"v":2,"d":"Base fee of the PC opcode"},"msize":{"v":2,"d":"Base fee of the MSIZE opcode"},"gas":{"v":2,"d":"Base fee of the GAS opcode"},"push":{"v":3,"d":"Base fee of the PUSH opcode"},"dup":{"v":3,"d":"Base fee of the DUP opcode"},"swap":{"v":3,"d":"Base fee of the SWAP opcode"},"callcode":{"v":40,"d":"Base fee of the CALLCODE opcode"},"return":{"v":0,"d":"Base fee of the RETURN opcode"},"invalid":{"v":0,"d":"Base fee of the INVALID opcode"},"selfdestruct":{"v":0,"d":"Base fee of the SELFDESTRUCT opcode"}},"vm":{"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed"},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack"},"maxExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis"}},"pow":{"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be"},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations"},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not"},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"difficultyBombDelay":{"v":0,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"homestead","comment":"Homestead hardfork with protocol and network changes","url":"https://eips.ethereum.org/EIPS/eip-606","status":"Final","gasConfig":{},"gasPrices":{"delegatecall":{"v":40,"d":"Base fee of the DELEGATECALL opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"dao","comment":"DAO rescue hardfork","url":"https://eips.ethereum.org/EIPS/eip-779","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"tangerineWhistle","comment":"Hardfork with gas cost changes for IO-heavy operations","url":"https://eips.ethereum.org/EIPS/eip-608","status":"Final","gasConfig":{},"gasPrices":{"sload":{"v":200,"d":"Once per SLOAD operation"},"call":{"v":700,"d":"Once per CALL operation & message call transaction"},"extcodesize":{"v":700,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":700,"d":"Base fee of the EXTCODECOPY opcode"},"balance":{"v":400,"d":"Base fee of the BALANCE opcode"},"delegatecall":{"v":700,"d":"Base fee of the DELEGATECALL opcode"},"callcode":{"v":700,"d":"Base fee of the CALLCODE opcode"},"selfdestruct":{"v":5000,"d":"Base fee of the SELFDESTRUCT opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"spuriousDragon","comment":"HF with EIPs for simple replay attack protection, EXP cost increase, state trie clearing, contract code size limit","url":"https://eips.ethereum.org/EIPS/eip-607","status":"Final","gasConfig":{},"gasPrices":{"expByte":{"v":50,"d":"Times ceil(log256(exponent)) for the EXP instruction"}},"vm":{"maxCodeSize":{"v":24576,"d":"Maximum length of contract code"}},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"byzantium","comment":"Hardfork with new precompiles, instructions and other protocol changes","url":"https://eips.ethereum.org/EIPS/eip-609","status":"Final","gasConfig":{},"gasPrices":{"modexpGquaddivisor":{"v":20,"d":"Gquaddivisor from modexp precompile for gas calculation"},"ecAdd":{"v":500,"d":"Gas costs for curve addition precompile"},"ecMul":{"v":40000,"d":"Gas costs for curve multiplication precompile"},"ecPairing":{"v":100000,"d":"Base gas costs for curve pairing precompile"},"ecPairingWord":{"v":80000,"d":"Gas costs regarding curve pairing precompile input length"},"revert":{"v":0,"d":"Base fee of the REVERT opcode"},"staticcall":{"v":700,"d":"Base fee of the STATICCALL opcode"},"returndatasize":{"v":2,"d":"Base fee of the RETURNDATASIZE opcode"},"returndatacopy":{"v":3,"d":"Base fee of the RETURNDATACOPY opcode"}},"vm":{},"pow":{"minerReward":{"v":"3000000000000000000","d":"the amount a miner get rewarded for mining a block"},"difficultyBombDelay":{"v":3000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"constantinople","comment":"Postponed hardfork including EIP-1283 (SSTORE gas metering changes)","url":"https://eips.ethereum.org/EIPS/eip-1013","status":"Final","gasConfig":{},"gasPrices":{"netSstoreNoopGas":{"v":200,"d":"Once per SSTORE operation if the value doesn\'t change"},"netSstoreInitGas":{"v":20000,"d":"Once per SSTORE operation from clean zero"},"netSstoreCleanGas":{"v":5000,"d":"Once per SSTORE operation from clean non-zero"},"netSstoreDirtyGas":{"v":200,"d":"Once per SSTORE operation from dirty"},"netSstoreClearRefund":{"v":15000,"d":"Once per SSTORE operation for clearing an originally existing storage slot"},"netSstoreResetRefund":{"v":4800,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"netSstoreResetClearRefund":{"v":19800,"d":"Once per SSTORE operation for resetting to the original zero value"},"shl":{"v":3,"d":"Base fee of the SHL opcode"},"shr":{"v":3,"d":"Base fee of the SHR opcode"},"sar":{"v":3,"d":"Base fee of the SAR opcode"},"extcodehash":{"v":400,"d":"Base fee of the EXTCODEHASH opcode"},"create2":{"v":32000,"d":"Base fee of the CREATE2 opcode"}},"vm":{},"pow":{"minerReward":{"v":"2000000000000000000","d":"The amount a miner gets rewarded for mining a block"},"difficultyBombDelay":{"v":5000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"petersburg","comment":"Aka constantinopleFix, removes EIP-1283, activate together with or after constantinople","url":"https://eips.ethereum.org/EIPS/eip-1716","status":"Draft","gasConfig":{},"gasPrices":{"netSstoreNoopGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreInitGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreCleanGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreDirtyGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreClearRefund":{"v":null,"d":"Removed along EIP-1283"},"netSstoreResetRefund":{"v":null,"d":"Removed along EIP-1283"},"netSstoreResetClearRefund":{"v":null,"d":"Removed along EIP-1283"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"istanbul","comment":"HF targeted for December 2019 following the Constantinople/Petersburg HF","url":"https://eips.ethereum.org/EIPS/eip-1679","status":"Draft","gasConfig":{},"gasPrices":{"blake2Round":{"v":1,"d":"Gas cost per round for the Blake2 F precompile"},"ecAdd":{"v":150,"d":"Gas costs for curve addition precompile"},"ecMul":{"v":6000,"d":"Gas costs for curve multiplication precompile"},"ecPairing":{"v":45000,"d":"Base gas costs for curve pairing precompile"},"ecPairingWord":{"v":34000,"d":"Gas costs regarding curve pairing precompile input length"},"txDataNonZero":{"v":16,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions"},"sstoreSentryGasEIP2200":{"v":2300,"d":"Minimum gas required to be present for an SSTORE call, not consumed"},"sstoreNoopGasEIP2200":{"v":800,"d":"Once per SSTORE operation if the value doesn\'t change"},"sstoreDirtyGasEIP2200":{"v":800,"d":"Once per SSTORE operation if a dirty value is changed"},"sstoreInitGasEIP2200":{"v":20000,"d":"Once per SSTORE operation from clean zero to non-zero"},"sstoreInitRefundEIP2200":{"v":19200,"d":"Once per SSTORE operation for resetting to the original zero value"},"sstoreCleanGasEIP2200":{"v":5000,"d":"Once per SSTORE operation from clean non-zero to something else"},"sstoreCleanRefundEIP2200":{"v":4200,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"sstoreClearRefundEIP2200":{"v":15000,"d":"Once per SSTORE operation for clearing an originally existing storage slot"},"balance":{"v":700,"d":"Base fee of the BALANCE opcode"},"extcodehash":{"v":700,"d":"Base fee of the EXTCODEHASH opcode"},"chainid":{"v":2,"d":"Base fee of the CHAINID opcode"},"selfbalance":{"v":5,"d":"Base fee of the SELFBALANCE opcode"},"sload":{"v":800,"d":"Base fee of the SLOAD opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"muirGlacier","comment":"HF to delay the difficulty bomb","url":"https://eips.ethereum.org/EIPS/eip-2384","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{"difficultyBombDelay":{"v":9000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"berlin","comment":"HF targeted for July 2020 following the Muir Glacier HF","url":"https://eips.ethereum.org/EIPS/eip-2070","status":"Draft","eips":[2565,2929,2718,2930]}')},function(t){t.exports=JSON.parse('{"name":"london","comment":"HF targeted for July 2021 following the Berlin fork","url":"https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/mainnet-upgrades/london.md","status":"Draft","eips":[1559,3198,3529,3541]}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EIPs=void 0,e.EIPs={1559:r(384),2315:r(385),2537:r(386),2565:r(387),2718:r(388),2929:r(389),2930:r(390),3198:r(391),3529:r(392),3541:r(393),3554:r(394)}},function(t){t.exports=JSON.parse('{"name":"EIP-1559","number":1559,"comment":"Fee market change for ETH 1.0 chain","url":"https://eips.ethereum.org/EIPS/eip-1559","status":"Review","minimumHardfork":"berlin","requiredEIPs":[2930],"gasConfig":{"baseFeeMaxChangeDenominator":{"v":8,"d":"Maximum base fee change denominator"},"elasticityMultiplier":{"v":2,"d":"Maximum block gas target elasticity"},"initialBaseFee":{"v":1000000000,"d":"Initial base fee on first EIP1559 block"}},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2315","number":2315,"comment":"Simple subroutines for the EVM","url":"https://eips.ethereum.org/EIPS/eip-2315","status":"Draft","minimumHardfork":"istanbul","gasConfig":{},"gasPrices":{"beginsub":{"v":2,"d":"Base fee of the BEGINSUB opcode"},"returnsub":{"v":5,"d":"Base fee of the RETURNSUB opcode"},"jumpsub":{"v":10,"d":"Base fee of the JUMPSUB opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2537","number":2537,"comment":"BLS12-381 precompiles","url":"https://eips.ethereum.org/EIPS/eip-2537","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{"Bls12381G1AddGas":{"v":600,"d":"Gas cost of a single BLS12-381 G1 addition precompile-call"},"Bls12381G1MulGas":{"v":12000,"d":"Gas cost of a single BLS12-381 G1 multiplication precompile-call"},"Bls12381G2AddGas":{"v":4500,"d":"Gas cost of a single BLS12-381 G2 addition precompile-call"},"Bls12381G2MulGas":{"v":55000,"d":"Gas cost of a single BLS12-381 G2 multiplication precompile-call"},"Bls12381PairingBaseGas":{"v":115000,"d":"Base gas cost of BLS12-381 pairing check"},"Bls12381PairingPerPairGas":{"v":23000,"d":"Per-pair gas cost of BLS12-381 pairing check"},"Bls12381MapG1Gas":{"v":5500,"d":"Gas cost of BLS12-381 map field element to G1"},"Bls12381MapG2Gas":{"v":110000,"d":"Gas cost of BLS12-381 map field element to G2"},"Bls12381MultiExpGasDiscount":{"v":[[1,1200],[2,888],[3,764],[4,641],[5,594],[6,547],[7,500],[8,453],[9,438],[10,423],[11,408],[12,394],[13,379],[14,364],[15,349],[16,334],[17,330],[18,326],[19,322],[20,318],[21,314],[22,310],[23,306],[24,302],[25,298],[26,294],[27,289],[28,285],[29,281],[30,277],[31,273],[32,269],[33,268],[34,266],[35,265],[36,263],[37,262],[38,260],[39,259],[40,257],[41,256],[42,254],[43,253],[44,251],[45,250],[46,248],[47,247],[48,245],[49,244],[50,242],[51,241],[52,239],[53,238],[54,236],[55,235],[56,233],[57,232],[58,231],[59,229],[60,228],[61,226],[62,225],[63,223],[64,222],[65,221],[66,220],[67,219],[68,219],[69,218],[70,217],[71,216],[72,216],[73,215],[74,214],[75,213],[76,213],[77,212],[78,211],[79,211],[80,210],[81,209],[82,208],[83,208],[84,207],[85,206],[86,205],[87,205],[88,204],[89,203],[90,202],[91,202],[92,201],[93,200],[94,199],[95,199],[96,198],[97,197],[98,196],[99,196],[100,195],[101,194],[102,193],[103,193],[104,192],[105,191],[106,191],[107,190],[108,189],[109,188],[110,188],[111,187],[112,186],[113,185],[114,185],[115,184],[116,183],[117,182],[118,182],[119,181],[120,180],[121,179],[122,179],[123,178],[124,177],[125,176],[126,176],[127,175],[128,174]],"d":"Discount gas costs of calls to the MultiExp precompiles with `k` (point, scalar) pair"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2565","number":2565,"comment":"ModExp gas cost","url":"https://eips.ethereum.org/EIPS/eip-2565","status":"Last call","minimumHardfork":"byzantium","gasConfig":{},"gasPrices":{"modexpGquaddivisor":{"v":3,"d":"Gquaddivisor from modexp precompile for gas calculation"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2718","comment":"Typed Transaction Envelope","url":"https://eips.ethereum.org/EIPS/eip-2718","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2929","comment":"Gas cost increases for state access opcodes","url":"https://eips.ethereum.org/EIPS/eip-2929","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{"coldsload":{"v":2100,"d":"Gas cost of the first read of storage from a given location (per transaction)"},"coldaccountaccess":{"v":2600,"d":"Gas cost of the first read of a given address (per transaction)"},"warmstorageread":{"v":100,"d":"Gas cost of reading storage locations which have already loaded \'cold\'"},"sstoreCleanGasEIP2200":{"v":2900,"d":"Once per SSTORE operation from clean non-zero to something else"},"sstoreNoopGasEIP2200":{"v":100,"d":"Once per SSTORE operation if the value doesn\'t change"},"sstoreDirtyGasEIP2200":{"v":100,"d":"Once per SSTORE operation if a dirty value is changed"},"sstoreInitRefundEIP2200":{"v":19900,"d":"Once per SSTORE operation for resetting to the original zero value"},"sstoreCleanRefundEIP2200":{"v":4900,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"call":{"v":0,"d":"Base fee of the CALL opcode"},"callcode":{"v":0,"d":"Base fee of the CALLCODE opcode"},"delegatecall":{"v":0,"d":"Base fee of the DELEGATECALL opcode"},"staticcall":{"v":0,"d":"Base fee of the STATICCALL opcode"},"balance":{"v":0,"d":"Base fee of the BALANCE opcode"},"extcodesize":{"v":0,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":0,"d":"Base fee of the EXTCODECOPY opcode"},"extcodehash":{"v":0,"d":"Base fee of the EXTCODEHASH opcode"},"sload":{"v":0,"d":"Base fee of the SLOAD opcode"},"sstore":{"v":0,"d":"Base fee of the SSTORE opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2930","comment":"Optional access lists","url":"https://eips.ethereum.org/EIPS/eip-2930","status":"Draft","minimumHardfork":"istanbul","requiredEIPs":[2718,2929],"gasConfig":{},"gasPrices":{"accessListStorageKeyCost":{"v":1900,"d":"Gas cost per storage key in an Access List transaction"},"accessListAddressCost":{"v":2400,"d":"Gas cost per storage key in an Access List transaction"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3198","number":3198,"comment":"BASEFEE opcode","url":"https://eips.ethereum.org/EIPS/eip-3198","status":"Review","minimumHardfork":"london","gasConfig":{},"gasPrices":{"basefee":{"v":2,"d":"Gas cost of the BASEFEE opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3529","comment":"Reduction in refunds","url":"https://eips.ethereum.org/EIPS/eip-3529","status":"Draft","minimumHardfork":"berlin","requiredEIPs":[2929],"gasConfig":{"maxRefundQuotient":{"v":5,"d":"Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)"}},"gasPrices":{"selfdestructRefund":{"v":0,"d":"Refunded following a selfdestruct operation"},"sstoreClearRefundEIP2200":{"v":4800,"d":"Once per SSTORE operation for clearing an originally existing storage slot"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3541","comment":"Reject new contracts starting with the 0xEF byte","url":"https://eips.ethereum.org/EIPS/eip-3541","status":"Draft","minimumHardfork":"berlin","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3554","comment":"Reduction in refunds","url":"Difficulty Bomb Delay to December 1st 2021","status":"Draft","minimumHardfork":"muirGlacier","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{"difficultyBombDelay":{"v":9500000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t,e,r){"use strict";var n=r(2);Object.defineProperty(e,"__esModule",{value:!0}),e.computeAddress=w,e.recoverAddress=_,e.accessListify=S,e.serialize=function(t,e){if(null==t.type)return null!=t.accessList&&m.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",t),function(t,e){(0,f.checkProperties)(t,g);var r=[];y.forEach((function(e){var n=t[e.name]||[],i={};e.numeric&&(i.hexPad="left"),n=(0,a.arrayify)((0,a.hexlify)(n,i)),e.length&&n.length!==e.length&&n.length>0&&m.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=(0,a.stripZeros)(n)).length>e.maxLength&&m.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),r.push((0,a.hexlify)(n))}));var n=0;null!=t.chainId?"number"!=typeof(n=t.chainId)&&m.throwArgumentError("invalid transaction.chainId","transaction",t):e&&!(0,a.isBytesLike)(e)&&e.v>28&&(n=Math.floor((e.v-35)/2));0!==n&&(r.push((0,a.hexlify)(n)),r.push("0x"),r.push("0x"));if(!e)return c.encode(r);var i=(0,a.splitSignature)(e),o=27+i.recoveryParam;0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&m.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):i.v!==o&&m.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e);return r.push((0,a.hexlify)(o)),r.push((0,a.stripZeros)((0,a.arrayify)(i.r))),r.push((0,a.stripZeros)((0,a.arrayify)(i.s))),c.encode(r)}(t,e);switch(t.type){case 1:return A(t,e)}return m.throwError("unsupported transaction type: ".concat(t.type),d.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:t.type})},e.parse=function(t){var e=(0,a.arrayify)(t);if(e[0]>127)return function(t){var e=c.decode(t);9!==e.length&&6!==e.length&&m.throwArgumentError("invalid raw transaction","rawTransaction",t);var r={nonce:v(e[0]).toNumber(),gasPrice:v(e[1]),gasLimit:v(e[2]),to:b(e[3]),value:v(e[4]),data:e[5],chainId:0};if(6===e.length)return r;try{r.v=o.BigNumber.from(e[6]).toNumber()}catch(t){return console.log(t),r}if(r.r=(0,a.hexZeroPad)(e[7],32),r.s=(0,a.hexZeroPad)(e[8],32),o.BigNumber.from(r.r).isZero()&&o.BigNumber.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);var n=r.v-27,i=e.slice(0,6);0!==r.chainId&&(i.push((0,a.hexlify)(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);var s=(0,u.keccak256)(c.encode(i));try{r.from=_(s,{r:(0,a.hexlify)(r.r),s:(0,a.hexlify)(r.s),recoveryParam:n})}catch(t){console.log(t)}r.hash=(0,u.keccak256)(t)}return r.type=null,r}(e);switch(e[0]){case 1:return function(t){var e=c.decode(t.slice(1));8!==e.length&&11!==e.length&&m.throwArgumentError("invalid component count for transaction type: 1","payload",(0,a.hexlify)(t));var r={type:1,chainId:v(e[0]).toNumber(),nonce:v(e[1]).toNumber(),gasPrice:v(e[2]),gasLimit:v(e[3]),to:b(e[4]),value:v(e[5]),data:e[6],accessList:S(e[7])};if(8===e.length)return r;try{var n=v(e[8]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");r.v=n}catch(t){m.throwArgumentError("invalid v for transaction type: 1","v",e[8])}r.r=(0,a.hexZeroPad)(e[9],32),r.s=(0,a.hexZeroPad)(e[10],32);try{var i=(0,u.keccak256)(A(r));r.from=_(i,{r:r.r,s:r.s,recoveryParam:r.v})}catch(t){console.log(t)}return r.hash=(0,u.keccak256)(t),r}(e)}return m.throwError("unsupported transaction type: ".concat(e[0]),d.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})};var i=r(77),o=r(30),a=r(13),s=r(103),u=r(40),f=r(41),c=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==n(t)&&"function"!=typeof t)return{default:t};var r=p(e);if(r&&r.has(t))return r.get(t);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in t)if("default"!==a&&Object.prototype.hasOwnProperty.call(t,a)){var s=o?Object.getOwnPropertyDescriptor(t,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=t[a]}i.default=t,r&&r.set(t,i);return i}(r(171)),h=r(407),d=r(17),l=r(416);function p(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,r=new WeakMap;return(p=function(t){return t?r:e})(t)}var m=new d.Logger(l.version);function b(t){return"0x"===t?null:(0,i.getAddress)(t)}function v(t){return"0x"===t?s.Zero:o.BigNumber.from(t)}var y=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],g={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function w(t){var e=(0,h.computePublicKey)(t);return(0,i.getAddress)((0,a.hexDataSlice)((0,u.keccak256)((0,a.hexDataSlice)(e,1)),12))}function _(t,e){return w((0,h.recoverPublicKey)((0,a.arrayify)(t),e))}function M(t,e){var r=(0,a.stripZeros)(o.BigNumber.from(t).toHexString());return r.length>32&&m.throwArgumentError("invalid length for "+e,"transaction:"+e,t),r}function k(t,e){return{address:(0,i.getAddress)(t),storageKeys:(e||[]).map((function(e,r){return 32!==(0,a.hexDataLength)(e)&&m.throwArgumentError("invalid access list storageKey","accessList[".concat(t,":").concat(r,"]"),e),e.toLowerCase()}))}}function S(t){if(Array.isArray(t))return t.map((function(t,e){return Array.isArray(t)?(t.length>2&&m.throwArgumentError("access list expected to be [ address, storageKeys[] ]","value[".concat(e,"]"),t),k(t[0],t[1])):k(t.address,t.storageKeys)}));var e=Object.keys(t).map((function(e){var r=t[e].reduce((function(t,e){return t[e]=!0,t}),{});return k(e,Object.keys(r).sort())}));return e.sort((function(t,e){return t.address.localeCompare(e.address)})),e}function A(t,e){var r,n=[M(t.chainId||0,"chainId"),M(t.nonce||0,"nonce"),M(t.gasPrice||0,"gasPrice"),M(t.gasLimit||0,"gasLimit"),null!=t.to?(0,i.getAddress)(t.to):"0x",M(t.value||0,"value"),t.data||"0x",(r=t.accessList||[],S(r).map((function(t){return[t.address,t.storageKeys]})))];if(e){var o=(0,a.splitSignature)(e);n.push(M(o.recoveryParam,"recoveryParam")),n.push((0,a.stripZeros)(o.r)),n.push((0,a.stripZeros)(o.s))}return(0,a.hexConcat)(["0x01",c.encode(n)])}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="logger/5.1.0"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="bytes/5.1.0"},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.formatFixed=y,e.parseFixed=g,e.FixedNumber=e.FixedFormat=void 0;var i=n(r(2)),o=n(r(7)),a=n(r(8)),s=r(13),u=r(17),f=r(170),c=r(169),h=new u.Logger(f.version),d={},l=c.BigNumber.from(0),p=c.BigNumber.from(-1);function m(t,e,r,n){var i={fault:e,operation:r};return void 0!==n&&(i.value=n),h.throwError(t,u.Logger.errors.NUMERIC_FAULT,i)}for(var b="0";b.length<256;)b+=b;function v(t){if("number"!=typeof t)try{t=c.BigNumber.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+b.substring(0,t):h.throwArgumentError("invalid decimal size","decimals",t)}function y(t,e){null==e&&(e=0);var r=v(e),n=(t=c.BigNumber.from(t)).lt(l);n&&(t=t.mul(p));for(var i=t.mod(r).toString();i.length2&&h.throwArgumentError("too many decimal points","value",t);var o=i[0],a=i[1];for(o||(o="0"),a||(a="0"),a.length>r.length-1&&m("fractional component exceeds decimals","underflow","parseFixed");a.length80&&h.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new t(d,r,n,o)}}]),t}();e.FixedFormat=w;var _=function(){function t(e,r,n,i){(0,o.default)(this,t),h.checkNew(this instanceof t?this.constructor:void 0,t),e!==d&&h.throwError("cannot use FixedNumber constructor; use FixedNumber.from",u.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=i,this._hex=r,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}return(0,a.default)(t,[{key:"_checkFormat",value:function(t){this.format.name!==t.format.name&&h.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}},{key:"addUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.add(n),this.format.decimals,this.format)}},{key:"subUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.sub(n),this.format.decimals,this.format)}},{key:"mulUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}},{key:"divUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}},{key:"floor",value:function(){var e=this.toString().split("."),r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(M)),r}},{key:"ceiling",value:function(){var e=this.toString().split("."),r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(M)),r}},{key:"round",value:function(e){null==e&&(e=0);var r=this.toString().split(".");if((e<0||e>80||e%1)&&h.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;var n=t.from("1"+b.substring(0,e));return this.mulUnsafe(n).addUnsafe(k).floor().divUnsafe(n)}},{key:"isZero",value:function(){return"0.0"===this._value}},{key:"isNegative",value:function(){return"-"===this._value[0]}},{key:"toString",value:function(){return this._value}},{key:"toHexString",value:function(t){if(null==t)return this._hex;t%8&&h.throwArgumentError("invalid byte width","width",t);var e=c.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return(0,s.hexZeroPad)(e,t/8)}},{key:"toUnsafeFloat",value:function(){return parseFloat(this.toString())}},{key:"toFormat",value:function(e){return t.fromString(this._value,e)}}],[{key:"fromValue",value:function(e,r,n){return null!=n||null==r||(0,c.isBigNumberish)(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),t.fromString(y(e,r),w.from(n))}},{key:"fromString",value:function(e,r){null==r&&(r="fixed");var n=w.from(r),i=g(e,n.decimals);!n.signed&&i.lt(l)&&m("unsigned value cannot be negative","overflow","value",e);var o=null;n.signed?o=i.toTwos(n.width).toHexString():(o=i.toHexString(),o=(0,s.hexZeroPad)(o,n.width/8));var a=y(i,n.decimals);return new t(d,o,a,n)}},{key:"fromBytes",value:function(e,r){null==r&&(r="fixed");var n=w.from(r);if((0,s.arrayify)(e).length>n.width/8)throw new Error("overflow");var i=c.BigNumber.from(e);n.signed&&(i=i.fromTwos(n.width));var o=i.toTwos((n.signed?0:1)+n.width).toHexString(),a=y(i,n.decimals);return new t(d,o,a,n)}},{key:"from",value:function(e,r){if("string"==typeof e)return t.fromString(e,r);if((0,s.isBytes)(e))return t.fromBytes(e,r);try{return t.fromValue(e,0,r)}catch(t){if(t.code!==u.Logger.errors.INVALID_ARGUMENT)throw t}return h.throwArgumentError("invalid FixedNumber value","value",e)}},{key:"isFixedNumber",value:function(t){return!(!t||!t._isFixedNumber)}}]),t}();e.FixedNumber=_;var M=_.from(1),k=_.from("0.5")},function(t,e,r){"use strict";(function(t,e,n){var i=r(0)(r(2)); +a=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=7)}([function(t,e,r){r.d(e,"j",(function(){return i})),r.d(e,"d",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"h",(function(){return s})),r.d(e,"b",(function(){return u})),r.d(e,"k",(function(){return f})),r.d(e,"e",(function(){return c})),r.d(e,"g",(function(){return h})),r.d(e,"i",(function(){return l})),r.d(e,"a",(function(){return d})),r.d(e,"f",(function(){return p}));var n=r(1),i=f((function(t,e){var r=e.length;return f((function(n){for(var i=0;i0&&(i=r),r=t[f++]);)switch(q++,"\n"===r?(z++,H=0):H++,j){case l:if("{"===r)j=p;else if("["===r)j=b;else if(!G(r))return K("Non-whitespace before {[.");continue;case g:case p:if(G(r))continue;if(j===g)N.push(w);else{if("}"===r){s({}),u(),j=N.pop()||d;continue}N.push(m)}if('"'!==r)return K('Malformed object key should start with " ');j=y;continue;case w:case m:if(G(r))continue;if(":"===r)j===m?(N.push(m),void 0!==o&&(s({}),a(o),o=void 0),D++):void 0!==o&&(a(o),o=void 0),j=d;else if("}"===r)void 0!==o&&(s(o),u(),o=void 0),u(),D--,j=N.pop()||d;else{if(","!==r)return K("Bad object");j===m&&N.push(m),void 0!==o&&(s(o),u(),o=void 0),j=g}continue;case b:case d:if(G(r))continue;if(j===b){if(s([]),D++,j=d,"]"===r){u(),D--,j=N.pop()||d;continue}N.push(v)}if('"'===r)j=y;else if("{"===r)j=p;else if("["===r)j=b;else if("t"===r)j=_;else if("f"===r)j=S;else if("n"===r)j=O;else if("-"===r)I+=r;else if("0"===r)I+=r,j=20;else{if(-1==="123456789".indexOf(r))return K("Bad value");I+=r,j=20}continue;case v:if(","===r)N.push(v),void 0!==o&&(s(o),u(),o=void 0),j=d;else{if("]"!==r){if(G(r))continue;return K("Bad array")}void 0!==o&&(s(o),u(),o=void 0),u(),D--,j=N.pop()||d}continue;case y:void 0===o&&(o="");var h=f-1;t:for(;;){for(;F>0;)if(L+=r,r=t.charAt(f++),4===F?(o+=String.fromCharCode(parseInt(L,16)),F=0,h=f-1):F++,!r)break t;if('"'===r&&!C){j=N.pop()||d,o+=t.substring(h,f-1);break}if(!("\\"!==r||C||(C=!0,o+=t.substring(h,f-1),r=t.charAt(f++))))break;if(C){if(C=!1,"n"===r?o+="\n":"r"===r?o+="\r":"t"===r?o+="\t":"f"===r?o+="\f":"b"===r?o+="\b":"u"===r?(F=1,L=""):o+=r,r=t.charAt(f++),h=f-1,r)continue;break}c.lastIndex=f;var V=c.exec(t);if(!V){f=t.length+1,o+=t.substring(h,f-1);break}if(f=V.index+1,!(r=t.charAt(V.index))){o+=t.substring(h,f-1);break}}continue;case _:if(!r)continue;if("r"!==r)return K("Invalid true started with t"+r);j=k;continue;case k:if(!r)continue;if("u"!==r)return K("Invalid true started with tr"+r);j=M;continue;case M:if(!r)continue;if("e"!==r)return K("Invalid true started with tru"+r);s(!0),u(),j=N.pop()||d;continue;case S:if(!r)continue;if("a"!==r)return K("Invalid false started with f"+r);j=A;continue;case A:if(!r)continue;if("l"!==r)return K("Invalid false started with fa"+r);j=x;continue;case x:if(!r)continue;if("s"!==r)return K("Invalid false started with fal"+r);j=E;continue;case E:if(!r)continue;if("e"!==r)return K("Invalid false started with fals"+r);s(!1),u(),j=N.pop()||d;continue;case O:if(!r)continue;if("u"!==r)return K("Invalid null started with n"+r);j=P;continue;case P:if(!r)continue;if("l"!==r)return K("Invalid null started with nu"+r);j=B;continue;case B:if(!r)continue;if("l"!==r)return K("Invalid null started with nul"+r);s(null),u(),j=N.pop()||d;continue;case T:if("."!==r)return K("Leading zero not followed by .");I+=r,j=20;continue;case 20:if(-1!=="0123456789".indexOf(r))I+=r;else if("."===r){if(-1!==I.indexOf("."))return K("Invalid number has two dots");I+=r}else if("e"===r||"E"===r){if(-1!==I.indexOf("e")||-1!==I.indexOf("E"))return K("Invalid number has two exponential");I+=r}else if("+"===r||"-"===r){if("e"!==i&&"E"!==i)return K("Invalid symbol in number");I+=r}else I&&(s(parseFloat(I)),u(),I=""),f--,j=N.pop()||d;continue;default:return K("Unknown state: "+j)}q>=R&&(n=0,void 0!==o&&o.length>65536&&(K("Max buffer length exceeded: textNode"),n=Math.max(n,o.length)),I.length>65536&&(K("Max buffer length exceeded: numberNode"),n=Math.max(n,I.length)),R=65536-n+q)}})),t(n.n).on((function(){if(j===l)return s({}),u(),void(U=!0);j===d&&0===D||K("Unexpected end"),void 0!==o&&(s(o),u(),o=void 0),U=!0}))}},function(t,e,r){r.d(e,"a",(function(){return u})),r.d(e,"b",(function(){return f}));var n=r(19),i=r(3),o=r(2),a=r(20),s=r(0);function u(){return new XMLHttpRequest}function f(t,e,r,u,f,c,h){var l=t(i.m).emit,d=t(i.b).emit,p=0,m=!0;function b(){if("2"===String(e.status)[0]){var t=e.responseText,r=(" "+t.substr(p)).substr(1);r&&l(r),p=Object(o.e)(t)}}function v(e){try{m&&t(i.c).emit(e.status,Object(a.a)(e.getAllResponseHeaders())),m=!1}catch(t){}}t(i.a).on((function(){e.onreadystatechange=null,e.abort()})),"onprogress"in e&&(e.onprogress=b),e.onreadystatechange=function(){switch(e.readyState){case 2:case 3:return v(e);case 4:v(e),"2"===String(e.status)[0]?(b(),t(i.n).emit()):d(Object(i.o)(e.status,e.responseText))}};try{for(var y in e.open(r,u,!0),c)e.setRequestHeader(y,c[y]);Object(n.a)(window.location,Object(n.b)(u))||e.setRequestHeader("X-Requested-With","XMLHttpRequest"),e.withCredentials=h,e.send(f)}catch(t){window.setTimeout(Object(s.j)(d,Object(i.o)(void 0,void 0,t)),0)}}},function(t,e,r){function n(t,e){function r(e){return String(e.port||{"http:":80,"https:":443}[e.protocol||t.protocol])}return!!(e.protocol&&e.protocol!==t.protocol||e.host&&e.host!==t.host||e.host&&r(e)!==r(t))}function i(t){var e=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/.exec(t)||[];return{protocol:e[1]||"",host:e[2]||"",port:e[3]||""}}r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}))},function(t,e,r){function n(t){var e={};return t&&t.split("\r\n").forEach((function(t){var r=t.indexOf(": ");e[t.substring(0,r)]=t.substring(r+2)})),e}r.d(e,"a",(function(){return n}))}]).default},"object"===(0,s.default)(e)&&"object"===(0,s.default)(t)?t.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(e,i):n)||(t.exports=o))}).call(this,r(17)(t))},function(t,e,r){"use strict";var n=r(10).formatters,i=r(30),o=r(16);t.exports=function(t){var e=function(e){var r;return e.property?(t[e.property]||(t[e.property]={}),r=t[e.property]):r=t,e.methods&&e.methods.forEach((function(e){e instanceof i||(e=new i(e)),e.attachToObject(r),e.setRequestManager(t._requestManager)})),t};return e.formatters=n,e.utils=o,e.Method=i,e}},function(t,e,r){"use strict";(function(t){var e=r(0)(r(2)),n=function(t){var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof l?e:l,o=Object.create(i.prototype),a=new S(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return x()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=_(a,r);if(s){if(s===h)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,a),o}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var h={};function l(){}function d(){}function p(){}var m={};m[o]=function(){return this};var b=Object.getPrototypeOf,v=b&&b(b(A([])));v&&v!==r&&n.call(v,o)&&(m=v);var y=p.prototype=l.prototype=Object.create(m);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,r){var i;this._invoke=function(o,a){function s(){return new r((function(i,s){!function i(o,a,s,u){var f=c(t[o],t,a);if("throw"!==f.type){var h=f.arg,l=h.value;return l&&"object"===(0,e.default)(l)&&n.call(l,"__await")?r.resolve(l.__await).then((function(t){i("next",t,s,u)}),(function(t){i("throw",t,s,u)})):r.resolve(l).then((function(t){h.value=t,s(h)}),(function(t){return i("throw",t,s,u)}))}u(f.arg)}(o,a,i,s)}))}return i=i?i.then(s,s):s()}}function _(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,h;var i=n.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function A(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;M(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:A(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}("object"===(0,e.default)(t)?t.exports:{});try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}}).call(this,r(17)(t))},function(t,e,r){"use strict";t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(t,e){var r=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=r){var n,i,o=[],a=!0,s=!1;try{for(r=r.call(t);!(a=(n=r.next()).done)&&(o.push(n.value),!e||o.length!==e);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==r.return||r.return()}finally{if(s)throw i}}return o}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(10).errors,o=r(73),a=r(10).formatters;function s(t){return t}function u(t){o.call(this),this.id=null,this.callback=s,this.arguments=null,this.lastBlock=null,this.options={subscription:t.subscription,type:t.type,requestManager:t.requestManager}}u.prototype=Object.create(o.prototype),u.prototype.constructor=u,u.prototype._extractCallback=function(t){if("function"==typeof t[t.length-1])return t.pop()},u.prototype._validateArgs=function(t){var e=this.options.subscription;if(e||(e={}),e.params||(e.params=0),t.length!==e.params)throw i.InvalidNumberOfParams(t.length,e.params,e.subscriptionName)},u.prototype._formatInput=function(t){var e=this.options.subscription;return e&&e.inputFormatter?e.inputFormatter.map((function(e,r){return e?e(t[r]):t[r]})):t},u.prototype._formatOutput=function(t){var e=this.options.subscription;return e&&e.outputFormatter&&t?e.outputFormatter(t):t},u.prototype._toPayload=function(t){var e=[];if(this.callback=this._extractCallback(t)||s,this.subscriptionMethod||(this.subscriptionMethod=t.shift(),this.options.subscription.subscriptionName&&(this.subscriptionMethod=this.options.subscription.subscriptionName)),this.arguments||(this.arguments=this._formatInput(t),this._validateArgs(this.arguments),t=[]),e.push(this.subscriptionMethod),e=e.concat(this.arguments),t.length)throw new Error("Only a callback is allowed as parameter on an already instantiated subscription.");return{method:this.options.type+"_subscribe",params:e}},u.prototype.unsubscribe=function(t){this.options.requestManager.removeSubscription(this.id,t),this.id=null,this.lastBlock=null,this.removeAllListeners()},u.prototype.subscribe=function(){var t=this,e=Array.prototype.slice.call(arguments),r=this._toPayload(e);if(!r)return this;if(!this.options.requestManager.provider)return setTimeout((function(){var e=new Error("No provider set.");t.callback(e,null,t),t.emit("error",e)}),0),this;if(!this.options.requestManager.provider.on)return setTimeout((function(){var e=new Error("The current provider doesn't support subscriptions: "+t.options.requestManager.provider.constructor.name);t.callback(e,null,t),t.emit("error",e)}),0),this;if(this.lastBlock&&this.options.params&&"object"===(0,n.default)(this.options.params)&&(r.params[1]=this.options.params,r.params[1].fromBlock=a.inputBlockNumberFormatter(this.lastBlock+1)),this.id&&this.unsubscribe(),this.options.params=r.params[1],"logs"===r.params[0]&&r.params[1]&&"object"===(0,n.default)(r.params[1])&&r.params[1].hasOwnProperty("fromBlock")&&isFinite(r.params[1].fromBlock)){var i=Object.assign({},r.params[1]);this.options.requestManager.send({method:"eth_getLogs",params:[i]},(function(e,r){e?setTimeout((function(){t.callback(e,null,t),t.emit("error",e)}),0):r.forEach((function(e){var r=t._formatOutput(e);t.callback(null,r,t),t.emit("data",r)}))}))}return"object"===(0,n.default)(r.params[1])&&delete r.params[1].fromBlock,this.options.requestManager.send(r,(function(e,i){!e&&i?(t.id=i,t.method=r.params[0],t.emit("connected",i),t.options.requestManager.addSubscription(t,(function(e,r){e?(t.callback(e,!1,t),t.emit("error",e)):(Array.isArray(r)||(r=[r]),r.forEach((function(e){var r=t._formatOutput(e);if(t.lastBlock=r&&"object"===(0,n.default)(r)?r.blockNumber:null,"function"==typeof t.options.subscription.subscriptionHandler)return t.options.subscription.subscriptionHandler.call(t,r);t.emit("data",r),t.callback(null,r,t)})))}))):setTimeout((function(){t.callback(e,!1,t),t.emit("error",e)}),0)})),this},u.prototype.resubscribe=function(){this.options.requestManager.removeSubscription(this.id),this.id=null,this.subscribe(this.callback)},t.exports=u},function(t,e,r){"use strict";var n=r(2);Object.defineProperty(e,"__esModule",{value:!0}),e.computeAddress=w,e.recoverAddress=_,e.accessListify=S,e.serialize=function(t,e){if(null==t.type)return null!=t.accessList&&m.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",t),function(t,e){(0,f.checkProperties)(t,g);var r=[];y.forEach((function(e){var n=t[e.name]||[],i={};e.numeric&&(i.hexPad="left"),n=(0,a.arrayify)((0,a.hexlify)(n,i)),e.length&&n.length!==e.length&&n.length>0&&m.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=(0,a.stripZeros)(n)).length>e.maxLength&&m.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),r.push((0,a.hexlify)(n))}));var n=0;null!=t.chainId?"number"!=typeof(n=t.chainId)&&m.throwArgumentError("invalid transaction.chainId","transaction",t):e&&!(0,a.isBytesLike)(e)&&e.v>28&&(n=Math.floor((e.v-35)/2));0!==n&&(r.push((0,a.hexlify)(n)),r.push("0x"),r.push("0x"));if(!e)return c.encode(r);var i=(0,a.splitSignature)(e),o=27+i.recoveryParam;0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&m.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):i.v!==o&&m.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e);return r.push((0,a.hexlify)(o)),r.push((0,a.stripZeros)((0,a.arrayify)(i.r))),r.push((0,a.stripZeros)((0,a.arrayify)(i.s))),c.encode(r)}(t,e);switch(t.type){case 1:return A(t,e)}return m.throwError("unsupported transaction type: ".concat(t.type),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:t.type})},e.parse=function(t){var e=(0,a.arrayify)(t);if(e[0]>127)return function(t){var e=c.decode(t);9!==e.length&&6!==e.length&&m.throwArgumentError("invalid raw transaction","rawTransaction",t);var r={nonce:v(e[0]).toNumber(),gasPrice:v(e[1]),gasLimit:v(e[2]),to:b(e[3]),value:v(e[4]),data:e[5],chainId:0};if(6===e.length)return r;try{r.v=o.BigNumber.from(e[6]).toNumber()}catch(t){return console.log(t),r}if(r.r=(0,a.hexZeroPad)(e[7],32),r.s=(0,a.hexZeroPad)(e[8],32),o.BigNumber.from(r.r).isZero()&&o.BigNumber.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);var n=r.v-27,i=e.slice(0,6);0!==r.chainId&&(i.push((0,a.hexlify)(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);var s=(0,u.keccak256)(c.encode(i));try{r.from=_(s,{r:(0,a.hexlify)(r.r),s:(0,a.hexlify)(r.s),recoveryParam:n})}catch(t){console.log(t)}r.hash=(0,u.keccak256)(t)}return r.type=null,r}(e);switch(e[0]){case 1:return function(t){var e=c.decode(t.slice(1));8!==e.length&&11!==e.length&&m.throwArgumentError("invalid component count for transaction type: 1","payload",(0,a.hexlify)(t));var r={type:1,chainId:v(e[0]).toNumber(),nonce:v(e[1]).toNumber(),gasPrice:v(e[2]),gasLimit:v(e[3]),to:b(e[4]),value:v(e[5]),data:e[6],accessList:S(e[7])};if(8===e.length)return r;try{var n=v(e[8]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");r.v=n}catch(t){m.throwArgumentError("invalid v for transaction type: 1","v",e[8])}r.r=(0,a.hexZeroPad)(e[9],32),r.s=(0,a.hexZeroPad)(e[10],32);try{var i=(0,u.keccak256)(A(r));r.from=_(i,{r:r.r,s:r.s,recoveryParam:r.v})}catch(t){console.log(t)}return r.hash=(0,u.keccak256)(t),r}(e)}return m.throwError("unsupported transaction type: ".concat(e[0]),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})};var i=r(59),o=r(24),a=r(11),s=r(79),u=r(32),f=r(33),c=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==n(t)&&"function"!=typeof t)return{default:t};var r=p(e);if(r&&r.has(t))return r.get(t);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in t)if("default"!==a&&Object.prototype.hasOwnProperty.call(t,a)){var s=o?Object.getOwnPropertyDescriptor(t,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=t[a]}i.default=t,r&&r.set(t,i);return i}(r(128)),h=r(270),l=r(12),d=r(279);function p(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,r=new WeakMap;return(p=function(t){return t?r:e})(t)}var m=new l.Logger(d.version);function b(t){return"0x"===t?null:(0,i.getAddress)(t)}function v(t){return"0x"===t?s.Zero:o.BigNumber.from(t)}var y=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],g={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function w(t){var e=(0,h.computePublicKey)(t);return(0,i.getAddress)((0,a.hexDataSlice)((0,u.keccak256)((0,a.hexDataSlice)(e,1)),12))}function _(t,e){return w((0,h.recoverPublicKey)((0,a.arrayify)(t),e))}function k(t,e){var r=(0,a.stripZeros)(o.BigNumber.from(t).toHexString());return r.length>32&&m.throwArgumentError("invalid length for "+e,"transaction:"+e,t),r}function M(t,e){return{address:(0,i.getAddress)(t),storageKeys:(e||[]).map((function(e,r){return 32!==(0,a.hexDataLength)(e)&&m.throwArgumentError("invalid access list storageKey","accessList[".concat(t,":").concat(r,"]"),e),e.toLowerCase()}))}}function S(t){if(Array.isArray(t))return t.map((function(t,e){return Array.isArray(t)?(t.length>2&&m.throwArgumentError("access list expected to be [ address, storageKeys[] ]","value[".concat(e,"]"),t),M(t[0],t[1])):M(t.address,t.storageKeys)}));var e=Object.keys(t).map((function(e){var r=t[e].reduce((function(t,e){return t[e]=!0,t}),{});return M(e,Object.keys(r).sort())}));return e.sort((function(t,e){return t.address.localeCompare(e.address)})),e}function A(t,e){var r,n=[k(t.chainId||0,"chainId"),k(t.nonce||0,"nonce"),k(t.gasPrice||0,"gasPrice"),k(t.gasLimit||0,"gasLimit"),null!=t.to?(0,i.getAddress)(t.to):"0x",k(t.value||0,"value"),t.data||"0x",(r=t.accessList||[],S(r).map((function(t){return[t.address,t.storageKeys]})))];if(e){var o=(0,a.splitSignature)(e);n.push(k(o.recoveryParam,"recoveryParam")),n.push((0,a.stripZeros)(o.r)),n.push((0,a.stripZeros)(o.s))}return(0,a.hexConcat)(["0x01",c.encode(n)])}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="logger/5.1.0"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="bytes/5.1.0"},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.formatFixed=y,e.parseFixed=g,e.FixedNumber=e.FixedFormat=void 0;var i=n(r(2)),o=n(r(5)),a=n(r(9)),s=r(11),u=r(12),f=r(127),c=r(126),h=new u.Logger(f.version),l={},d=c.BigNumber.from(0),p=c.BigNumber.from(-1);function m(t,e,r,n){var i={fault:e,operation:r};return void 0!==n&&(i.value=n),h.throwError(t,u.Logger.errors.NUMERIC_FAULT,i)}for(var b="0";b.length<256;)b+=b;function v(t){if("number"!=typeof t)try{t=c.BigNumber.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+b.substring(0,t):h.throwArgumentError("invalid decimal size","decimals",t)}function y(t,e){null==e&&(e=0);var r=v(e),n=(t=c.BigNumber.from(t)).lt(d);n&&(t=t.mul(p));for(var i=t.mod(r).toString();i.length2&&h.throwArgumentError("too many decimal points","value",t);var o=i[0],a=i[1];for(o||(o="0"),a||(a="0"),a.length>r.length-1&&m("fractional component exceeds decimals","underflow","parseFixed");a.length80&&h.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new t(l,r,n,o)}}]),t}();e.FixedFormat=w;var _=function(){function t(e,r,n,i){(0,o.default)(this,t),h.checkNew(this instanceof t?this.constructor:void 0,t),e!==l&&h.throwError("cannot use FixedNumber constructor; use FixedNumber.from",u.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=i,this._hex=r,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}return(0,a.default)(t,[{key:"_checkFormat",value:function(t){this.format.name!==t.format.name&&h.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}},{key:"addUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.add(n),this.format.decimals,this.format)}},{key:"subUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.sub(n),this.format.decimals,this.format)}},{key:"mulUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}},{key:"divUnsafe",value:function(e){this._checkFormat(e);var r=g(this._value,this.format.decimals),n=g(e._value,e.format.decimals);return t.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}},{key:"floor",value:function(){var e=this.toString().split("."),r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(k)),r}},{key:"ceiling",value:function(){var e=this.toString().split("."),r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(k)),r}},{key:"round",value:function(e){null==e&&(e=0);var r=this.toString().split(".");if((e<0||e>80||e%1)&&h.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;var n=t.from("1"+b.substring(0,e));return this.mulUnsafe(n).addUnsafe(M).floor().divUnsafe(n)}},{key:"isZero",value:function(){return"0.0"===this._value}},{key:"isNegative",value:function(){return"-"===this._value[0]}},{key:"toString",value:function(){return this._value}},{key:"toHexString",value:function(t){if(null==t)return this._hex;t%8&&h.throwArgumentError("invalid byte width","width",t);var e=c.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return(0,s.hexZeroPad)(e,t/8)}},{key:"toUnsafeFloat",value:function(){return parseFloat(this.toString())}},{key:"toFormat",value:function(e){return t.fromString(this._value,e)}}],[{key:"fromValue",value:function(e,r,n){return null!=n||null==r||(0,c.isBigNumberish)(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),t.fromString(y(e,r),w.from(n))}},{key:"fromString",value:function(e,r){null==r&&(r="fixed");var n=w.from(r),i=g(e,n.decimals);!n.signed&&i.lt(d)&&m("unsigned value cannot be negative","overflow","value",e);var o=null;n.signed?o=i.toTwos(n.width).toHexString():(o=i.toHexString(),o=(0,s.hexZeroPad)(o,n.width/8));var a=y(i,n.decimals);return new t(l,o,a,n)}},{key:"fromBytes",value:function(e,r){null==r&&(r="fixed");var n=w.from(r);if((0,s.arrayify)(e).length>n.width/8)throw new Error("overflow");var i=c.BigNumber.from(e);n.signed&&(i=i.fromTwos(n.width));var o=i.toTwos((n.signed?0:1)+n.width).toHexString(),a=y(i,n.decimals);return new t(l,o,a,n)}},{key:"from",value:function(e,r){if("string"==typeof e)return t.fromString(e,r);if((0,s.isBytes)(e))return t.fromBytes(e,r);try{return t.fromValue(e,0,r)}catch(t){if(t.code!==u.Logger.errors.INVALID_ARGUMENT)throw t}return h.throwArgumentError("invalid FixedNumber value","value",e)}},{key:"isFixedNumber",value:function(t){return!(!t||!t._isFixedNumber)}}]),t}();e.FixedNumber=_;var k=_.from(1),M=_.from("0.5")},function(t,e,r){"use strict";(function(t,e,n){var i=r(0)(r(2)); /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -44,7 +43,7 @@ a=function(){return function(t){var e={};function r(n){if(e[n])return e[n].expor * @copyright Chen, Yi-Cyuan 2015-2016 * @license MIT */ -!function(){var r="object"===("undefined"==typeof window?"undefined":(0,i.default)(window))?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"===(void 0===t?"undefined":(0,i.default)(t))&&t.versions&&t.versions.node&&(r=e);for(var o=!r.JS_SHA3_NO_COMMON_JS&&"object"===(0,i.default)(n)&&n.exports,a="0123456789abcdef".split(""),s=[0,8,16,24],u=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],f=[224,256,384,512],c=["hex","buffer","arrayBuffer","array"],h=function(t,e,r){return function(n){return new M(t,e,t).update(n)[r]()}},d=function(t,e,r){return function(n,i){return new M(t,e,i).update(n)[r]()}},l=function(t,e){var r=h(t,e,"hex");r.create=function(){return new M(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}M.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,o=this.blocks,a=this.byteCount,u=this.blockCount,f=0,c=this.s;f>2]|=t[f]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(o[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=o[u],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+a[15&t]+a[t>>12&15]+a[t>>8&15]+a[t>>20&15]+a[t>>16&15]+a[t>>28&15]+a[t>>24&15];s%e==0&&(k(r),o=0)}return i&&(t=r[o],i>0&&(u+=a[t>>4&15]+a[15&t]),i>1&&(u+=a[t>>12&15]+a[t>>8&15]),i>2&&(u+=a[t>>20&15]+a[t>>16&15])),u},M.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%r==0&&k(n)}return o&&(t=s<<2,e=n[a],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var k=function(t){var e,r,n,i,o,a,s,f,c,h,d,l,p,m,b,v,y,g,w,_,M,k,S,A,x,E,P,B,O,R,T,I,C,N,U,j,L,D,F,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],f=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],d=t[7]^t[17]^t[27]^t[37]^t[47],e=(l=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(h<<1|d>>>31),r=s^(d<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(l<<1|p>>>31),r=c^(p<<1|l>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=d^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,B=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,N=t[2]<<1|t[3]>>>31,U=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,j=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,F=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,k=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&B,t[11]=x^~P&O,t[20]=N^~j&D,t[21]=U^~L&F,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&M,t[12]=E^~B&R,t[13]=P^~O&T,t[22]=j^~D&q,t[23]=L^~F&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&k,t[5]=w^~M&S,t[14]=B^~R&I,t[15]=O^~T&C,t[24]=D^~q&z,t[25]=F^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~k&m,t[7]=M^~S&b,t[16]=R^~I&A,t[17]=T^~C&x,t[26]=q^~z&N,t[27]=H^~K&U,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=k^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&P,t[28]=z^~N&j,t[29]=K^~U&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=u[n],t[1]^=u[n+1]};if(o)n.exports=m;else for(v=0;v>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}})),h=s((function(t,e){var r=e;r.assert=u,r.toArray=c.toArray,r.zero2=c.zero2,r.toHex=c.toHex,r.encode=c.encode,r.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},r.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,u=t.andln(3)+i&3,f=e.andln(3)+o&3;3===u&&(u=-1),3===f&&(f=-1),a=0==(1&u)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==f?u:-u,r[0].push(a),s=0==(1&f)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==u?f:-f,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},r.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(t){return"string"==typeof t?r.toArray(t,"hex"):t},r.intFromLE=function(t){return new o.default(t,"hex","le")}})),d=h.getNAF,l=h.getJSF,p=h.assert;function m(t,e){this.type=t,this.p=new o.default(e.p,16),this.red=e.prime?o.default.red(e.prime):o.default.mont(this.p),this.zero=new o.default(0).toRed(this.red),this.one=new o.default(1).toRed(this.red),this.two=new o.default(2).toRed(this.red),this.n=e.n&&new o.default(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var b=m;function v(t,e){this.curve=t,this.type=e,this.precomputed=null}m.prototype.point=function(){throw new Error("Not implemented")},m.prototype.validate=function(){throw new Error("Not implemented")},m.prototype._fixedNafMul=function(t,e){p(t.precomputed);var r=t._getDoubles(),n=d(e,1,this._bitLength),i=(1<=o;u--)a=(a<<1)+n[u];s.push(a)}for(var f=this.jpoint(null,null,null),c=this.jpoint(null,null,null),h=i;h>0;h--){for(o=0;o=0;s--){for(var u=0;s>=0&&0===o[s];s--)u++;if(s>=0&&u++,a=a.dblp(u),s<0)break;var f=o[s];p(0!==f),a="affine"===t.type?f>0?a.mixedAdd(i[f-1>>1]):a.mixedAdd(i[-f-1>>1].neg()):f>0?a.add(i[f-1>>1]):a.add(i[-f-1>>1].neg())}return"affine"===t.type?a.toP():a},m.prototype._wnafMulAdd=function(t,e,r,n,i){var o,a,s,u=this._wnafT1,f=this._wnafT2,c=this._wnafT3,h=0;for(o=0;o=1;o-=2){var m=o-1,b=o;if(1===u[m]&&1===u[b]){var v=[e[m],null,null,e[b]];0===e[m].y.cmp(e[b].y)?(v[1]=e[m].add(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg())):0===e[m].y.cmp(e[b].y.redNeg())?(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].add(e[b].neg())):(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],g=l(r[m],r[b]);for(h=Math.max(g[0].length,h),c[m]=new Array(h),c[b]=new Array(h),a=0;a=0;o--){for(var S=0;o>=0;){var A=!0;for(a=0;a=0&&S++,M=M.dblp(S),o<0)break;for(a=0;a0?s=f[a][x-1>>1]:x<0&&(s=f[a][-x-1>>1].neg()),M="affine"===s.type?M.mixedAdd(s):M.add(s))}}for(o=0;o=Math.ceil((t.bitLength()+1)/e.step)},v.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(a=e,s=r),n.negative&&(n=n.neg(),i=i.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:i},{a:a,b:s}]},w.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),f=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:u.add(f).neg()}},w.prototype.pointFromX=function(t,e){(t=new o.default(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},w.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},w.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},M.prototype.isInfinity=function(){return this.inf},M.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},M.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},M.prototype.getX=function(){return this.x.fromRed()},M.prototype.getY=function(){return this.y.fromRed()},M.prototype.mul=function(t){return t=new o.default(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},M.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},M.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},M.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},M.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},M.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},y(k,b.BasePoint),w.prototype.jpoint=function(t,e,r){return new k(this,t,e,r)},k.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},k.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},k.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=s.redSqr(),c=f.redMul(s),h=n.redMul(f),d=u.redSqr().redIAdd(c).redISub(h).redISub(h),l=u.redMul(h.redISub(d)).redISub(o.redMul(c)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(d,l,p)},k.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),c=r.redMul(u),h=s.redSqr().redIAdd(f).redISub(c).redISub(c),d=s.redMul(c.redISub(h)).redISub(i.redMul(f)),l=this.z.redMul(a);return this.curve.jpoint(h,d,l)},k.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},k.prototype.inspect=function(){return this.isInfinity()?"":""},k.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var S=s((function(t,e){var r=e;r.base=b,r.short=_,r.mont=null,r.edwards=null})),A=s((function(t,e){var r,n=e,i=h.assert;function o(t){"short"===t.type?this.curve=new S.short(t):"edwards"===t.type?this.curve=new S.edwards(t):this.curve=new S.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new o(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:a.default.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:a.default.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:a.default.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:a.default.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:a.default.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.default.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.default.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=null.crash()}catch(t){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:a.default.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function x(t){if(!(this instanceof x))return new x(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=c.toArray(t.entropy,t.entropyEnc||"hex"),r=c.toArray(t.nonce,t.nonceEnc||"hex"),n=c.toArray(t.pers,t.persEnc||"hex");u(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var E=x;x.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},x.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=c.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var R=h.assert;function T(t,e){if(t instanceof T)return t;this._importDER(t,e)||(R(t.r&&t.s,"Signature without r or s"),this.r=new o.default(t.r,16),this.s=new o.default(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var I=T;function C(){this.place=0}function N(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function U(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}T.prototype._importDER=function(t,e){t=h.toArray(t,e);var r=new C;if(48!==t[r.place++])return!1;var n=N(t,r);if(!1===n)return!1;if(n+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var i=N(t,r);if(!1===i)return!1;var a=t.slice(r.place,i+r.place);if(r.place+=i,2!==t[r.place++])return!1;var s=N(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var u=t.slice(r.place,s+r.place);if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}return this.r=new o.default(a),this.s=new o.default(u),this.recoveryParam=null,!0},T.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=U(e),r=U(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];j(n,e.length),(n=n.concat(e)).push(2),j(n,r.length);var i=n.concat(r),o=[48];return j(o,i.length),o=o.concat(i),h.encode(o,t)};var L=function(){throw new Error("unsupported")},D=h.assert;function F(t){if(!(this instanceof F))return new F(t);"string"==typeof t&&(D(Object.prototype.hasOwnProperty.call(A,t),"Unknown curve "+t),t=A[t]),t instanceof A.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var q=F;F.prototype.keyPair=function(t){return new O(this,t)},F.prototype.keyFromPrivate=function(t,e){return O.fromPrivate(this,t,e)},F.prototype.keyFromPublic=function(t,e){return O.fromPublic(this,t,e)},F.prototype.genKeyPair=function(t){t||(t={});for(var e=new E({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||L(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new o.default(2));;){var i=new o.default(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},F.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},F.prototype.sign=function(t,e,r,n){"object"===(0,i.default)(r)&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new o.default(t,16));for(var a=this.n.byteLength(),s=e.getPrivate().toArray("be",a),u=t.toArray("be",a),f=new E({hash:this.hash,entropy:s,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),c=this.n.sub(new o.default(1)),h=0;;h++){var d=n.k?n.k(h):new o.default(f.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(c)>=0)){var l=this.g.mul(d);if(!l.isInfinity()){var p=l.getX(),m=p.umod(this.n);if(0!==m.cmpn(0)){var b=d.invm(this.n).mul(m.mul(e.getPrivate()).iadd(t));if(0!==(b=b.umod(this.n)).cmpn(0)){var v=(l.getY().isOdd()?1:0)|(0!==p.cmp(m)?2:0);return n.canonical&&b.cmp(this.nh)>0&&(b=this.n.sub(b),v^=1),new I({r:m,s:b,recoveryParam:v})}}}}}},F.prototype.verify=function(t,e,r,n){t=this._truncateToN(new o.default(t,16)),r=this.keyFromPublic(r,n);var i=(e=new I(e,"hex")).r,a=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,u=a.invm(this.n),f=u.mul(t).umod(this.n),c=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(f,r.getPublic(),c)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(f,r.getPublic(),c)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},F.prototype.recoverPubKey=function(t,e,r,n){D((3&r)===r,"The recovery param is more than two bits"),e=new I(e,n);var i=this.n,a=new o.default(t),s=e.r,u=e.s,f=1&r,c=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");s=c?this.curve.pointFromX(s.add(this.curve.n),f):this.curve.pointFromX(s,f);var h=e.r.invm(i),d=i.sub(a).mul(h).umod(i),l=u.mul(h).umod(i);return this.g.mulAdd(d,s,l)},F.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new I(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var H=s((function(t,e){var r=e;r.version="6.5.4",r.utils=h,r.rand=function(){throw new Error("unsupported")},r.curve=S,r.curves=A,r.ec=q,r.eddsa=null})).ec;e.EC=H}).call(this,r(6))},function(t,e,r){"use strict";e.sha1=r(410),e.sha224=r(411),e.sha256=r(173),e.sha384=r(412),e.sha512=r(174)},function(t,e,r){"use strict";var n=r(28),i=r(64),o=r(172),a=n.rotl32,s=n.sum32,u=n.sum32_5,f=o.ft_1,c=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,c),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;et.highestBlock-200&&(e._isSyncing=!1,e.emit("changed",e._isSyncing),"function"==typeof e.callback&&e.callback(null,e._isSyncing,e))}),500))}}}})];I.forEach((function(e){e.attachToObject(t),e.setRequestManager(t._requestManager,t.accounts),e.defaultBlock=t.defaultBlock,e.defaultAccount=t.defaultAccount,e.transactionBlockTimeout=t.transactionBlockTimeout,e.transactionConfirmationBlocks=t.transactionConfirmationBlocks,e.transactionPollingTimeout=t.transactionPollingTimeout,e.handleRevert=t.handleRevert}))};n.addProviders(M),t.exports=M},function(t,e,r){"use strict";var n=r(419);t.exports=n},function(t,e,r){"use strict";var n=r(0),i=n(r(62)),o=n(r(96)),a=r(175),s=r(11).formatters,u=r(18),f=r(420),c=r(443),h=r(444);function d(t){this.eth=t;var e=null;this._detectedAddress=null,this._lastSyncCheck=null,Object.defineProperty(this,"registry",{get:function(){return new f(this)},enumerable:!0}),Object.defineProperty(this,"resolverMethodHandler",{get:function(){return new c(this.registry)},enumerable:!0}),Object.defineProperty(this,"registryAddress",{get:function(){return e},set:function(t){e=null!==t?s.inputAddressFormatter(t):t},enumerable:!0})}d.prototype.supportsInterface=function(t,e,r){return this.getResolver(t).then((function(t){return u.isHexStrict(e)||(e=u.sha3(e).slice(0,10)),t.methods.supportsInterface(e).call(r)})).catch((function(t){if("function"!=typeof r)throw t;r(t,null)}))},d.prototype.resolver=function(t,e){return this.registry.resolver(t,e)},d.prototype.getResolver=function(t,e){return this.registry.getResolver(t,e)},d.prototype.setResolver=function(t,e,r,n){return this.registry.setResolver(t,e,r,n)},d.prototype.setRecord=function(t,e,r,n,i,o){return this.registry.setRecord(t,e,r,n,i,o)},d.prototype.setSubnodeRecord=function(t,e,r,n,i,o,a){return this.registry.setSubnodeRecord(t,e,r,n,i,o,a)},d.prototype.setApprovalForAll=function(t,e,r,n){return this.registry.setApprovalForAll(t,e,r,n)},d.prototype.isApprovedForAll=function(t,e,r){return this.registry.isApprovedForAll(t,e,r)},d.prototype.recordExists=function(t,e){return this.registry.recordExists(t,e)},d.prototype.setSubnodeOwner=function(t,e,r,n,i){return this.registry.setSubnodeOwner(t,e,r,n,i)},d.prototype.getTTL=function(t,e){return this.registry.getTTL(t,e)},d.prototype.setTTL=function(t,e,r,n){return this.registry.setTTL(t,e,r,n)},d.prototype.getOwner=function(t,e){return this.registry.getOwner(t,e)},d.prototype.setOwner=function(t,e,r,n){return this.registry.setOwner(t,e,r,n)},d.prototype.getAddress=function(t,e){return this.resolverMethodHandler.method(t,"addr",[]).call(e)},d.prototype.setAddress=function(t,e,r,n){return this.resolverMethodHandler.method(t,"setAddr",[e]).send(r,n)},d.prototype.getPubkey=function(t,e){return this.resolverMethodHandler.method(t,"pubkey",[],null,e).call(e)},d.prototype.setPubkey=function(t,e,r,n,i){return this.resolverMethodHandler.method(t,"setPubkey",[e,r]).send(n,i)},d.prototype.getContent=function(t,e){return this.resolverMethodHandler.method(t,"content",[]).call(e)},d.prototype.setContent=function(t,e,r,n){return this.resolverMethodHandler.method(t,"setContent",[e]).send(r,n)},d.prototype.getContenthash=function(t,e){return this.resolverMethodHandler.method(t,"contenthash",[],h.decode).call(e)},d.prototype.setContenthash=function(t,e,r,n){var i;try{i=h.encode(e)}catch(t){var o=new Error("Could not encode "+e+". See docs for supported hash protocols.");if("function"==typeof n)return void n(o,null);throw o}return this.resolverMethodHandler.method(t,"setContenthash",[i]).send(r,n)},d.prototype.getMultihash=function(t,e){return this.resolverMethodHandler.method(t,"multihash",[]).call(e)},d.prototype.setMultihash=function(t,e,r,n){return this.resolverMethodHandler.method(t,"multihash",[e]).send(r,n)},d.prototype.checkNetwork=(0,o.default)(i.default.mark((function t(){var e,r,n,o,s;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=new Date/1e3,this._lastSyncCheck&&!(e-this._lastSyncCheck>3600)){t.next=9;break}return t.next=4,this.eth.getBlock("latest");case 4:if(r=t.sent,!((n=e-r.timestamp)>3600)){t.next=8;break}throw new Error("Network not synced; last block was "+n+" seconds ago");case 8:this._lastSyncCheck=e;case 9:if(!this.registryAddress){t.next=11;break}return t.abrupt("return",this.registryAddress);case 11:if(this._detectedAddress){t.next=20;break}return t.next=14,this.eth.net.getNetworkType();case 14:if(o=t.sent,void 0!==(s=a.addresses[o])){t.next=18;break}throw new Error("ENS is not supported on network "+o);case 18:return this._detectedAddress=s,t.abrupt("return",this._detectedAddress);case 20:return t.abrupt("return",this._detectedAddress);case 21:case"end":return t.stop()}}),t,this)}))),t.exports=d},function(t,e,r){"use strict";var n=r(176),i=r(185),o=r(72),a=r(11).formatters,s=r(18),u=r(441),f=r(442);function c(t){var e=this;this.ens=t,this.contract=t.checkNetwork().then((function(t){var r=new n(u,t);return r.setProvider(e.ens.eth.currentProvider),r}))}c.prototype.owner=function(t,e){return console.warn('Deprecated: Please use the "getOwner" method instead of "owner".'),this.getOwner(t,e)},c.prototype.getOwner=function(t,e){var r=new o(!0);return this.contract.then((function(e){return e.methods.owner(i.hash(t)).call()})).then((function(t){"function"!=typeof e?r.resolve(t):e(t,t)})).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},c.prototype.setOwner=function(t,e,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setOwner(i.hash(t),a.inputAddressFormatter(e)).send(r)})).then((function(t){"function"!=typeof n?s.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?s.reject(t):n(t,null)})),s.eventEmitter},c.prototype.getTTL=function(t,e){var r=new o(!0);return this.contract.then((function(e){return e.methods.ttl(i.hash(t)).call()})).then((function(t){"function"!=typeof e?r.resolve(t):e(t,t)})).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},c.prototype.setTTL=function(t,e,r,n){var a=new o(!0);return this.contract.then((function(n){return n.methods.setTTL(i.hash(t),e).send(r)})).then((function(t){"function"!=typeof n?a.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?a.reject(t):n(t,null)})),a.eventEmitter},c.prototype.setSubnodeOwner=function(t,e,r,n,u){var f=new o(!0);return s.isHexStrict(e)||(e=s.sha3(e)),this.contract.then((function(o){return o.methods.setSubnodeOwner(i.hash(t),e,a.inputAddressFormatter(r)).send(n)})).then((function(t){"function"!=typeof u?f.resolve(t):u(t,t)})).catch((function(t){"function"!=typeof u?f.reject(t):u(t,null)})),f.eventEmitter},c.prototype.setRecord=function(t,e,r,n,s,u){var f=new o(!0);return this.contract.then((function(o){return o.methods.setRecord(i.hash(t),a.inputAddressFormatter(e),a.inputAddressFormatter(r),n).send(s)})).then((function(t){"function"!=typeof u?f.resolve(t):u(t,t)})).catch((function(t){"function"!=typeof u?f.reject(t):u(t,null)})),f.eventEmitter},c.prototype.setSubnodeRecord=function(t,e,r,n,u,f,c){var h=new o(!0);return s.isHexStrict(e)||(e=s.sha3(e)),this.contract.then((function(o){return o.methods.setSubnodeRecord(i.hash(t),e,a.inputAddressFormatter(r),a.inputAddressFormatter(n),u).send(f)})).then((function(t){"function"!=typeof c?h.resolve(t):c(t,t)})).catch((function(t){"function"!=typeof c?h.reject(t):c(t,null)})),h.eventEmitter},c.prototype.setApprovalForAll=function(t,e,r,n){var i=new o(!0);return this.contract.then((function(n){return n.methods.setApprovalForAll(a.inputAddressFormatter(t),e).send(r)})).then((function(t){"function"!=typeof n?i.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?i.reject(t):n(t,null)})),i.eventEmitter},c.prototype.isApprovedForAll=function(t,e,r){var n=new o(!0);return this.contract.then((function(r){return r.methods.isApprovedForAll(a.inputAddressFormatter(t),a.inputAddressFormatter(e)).call()})).then((function(t){"function"!=typeof r?n.resolve(t):r(t,t)})).catch((function(t){"function"!=typeof r?n.reject(t):r(t,null)})),n.eventEmitter},c.prototype.recordExists=function(t,e){var r=new o(!0);return this.contract.then((function(e){return e.methods.recordExists(i.hash(t)).call()})).then((function(t){"function"!=typeof e?r.resolve(t):e(t,t)})).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},c.prototype.resolver=function(t,e){return console.warn('Deprecated: Please use the "getResolver" method instead of "resolver".'),this.getResolver(t,e)},c.prototype.getResolver=function(t,e){var r=this;return this.contract.then((function(e){return e.methods.resolver(i.hash(t)).call()})).then((function(t){var i=new n(f,t);if(i.setProvider(r.ens.eth.currentProvider),"function"!=typeof e)return i;e(i,i)})).catch((function(t){if("function"!=typeof e)throw t;e(t,null)}))},c.prototype.setResolver=function(t,e,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setResolver(i.hash(t),a.inputAddressFormatter(e)).send(r)})).then((function(t){"function"!=typeof n?s.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?s.reject(t):n(t,null)})),s.eventEmitter},t.exports=c},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.AddressCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12)),f=r(77),c=r(13);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var d=function(t){(0,a.default)(r,t);var e=h(r);function r(t){return(0,i.default)(this,r),e.call(this,"address","address",t,!1)}return(0,o.default)(r,[{key:"encode",value:function(t,e){try{(0,f.getAddress)(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)}},{key:"decode",value:function(t){return(0,f.getAddress)((0,c.hexZeroPad)(t.readValue().toHexString(),20))}}]),r}(r(24).Coder);e.AddressCoder=d},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.AnonymousCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(t){(0,a.default)(r,t);var e=f(r);function r(t){var n;return(0,i.default)(this,r),(n=e.call(this,t.name,t.type,void 0,t.dynamic)).coder=t,n}return(0,o.default)(r,[{key:"encode",value:function(t,e){return this.coder.encode(t,e)}},{key:"decode",value:function(t){return this.coder.decode(t)}}]),r}(r(24).Coder);e.AnonymousCoder=c},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.BooleanCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(t){(0,a.default)(r,t);var e=f(r);function r(t){return(0,i.default)(this,r),e.call(this,"bool","bool",t,!1)}return(0,o.default)(r,[{key:"encode",value:function(t,e){return t.writeValue(e?1:0)}},{key:"decode",value:function(t){return t.coerce(this.type,!t.readValue().isZero())}}]),r}(r(24).Coder);e.BooleanCoder=c},function(t,e,r){"use strict";var n=r(12);t.exports=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=n(t)););return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.FixedBytesCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12)),f=r(13);function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var h=function(t){(0,a.default)(r,t);var e=c(r);function r(t,n){var o;(0,i.default)(this,r);var a="bytes"+String(t);return(o=e.call(this,a,a,n,!1)).size=t,o}return(0,o.default)(r,[{key:"encode",value:function(t,e){var r=(0,f.arrayify)(e);return r.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(r)}},{key:"decode",value:function(t){return t.coerce(this.name,(0,f.hexlify)(t.readBytes(this.size)))}}]),r}(r(24).Coder);e.FixedBytesCoder=h},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.NullCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(t){(0,a.default)(r,t);var e=f(r);function r(t){return(0,i.default)(this,r),e.call(this,"null","",t,!1)}return(0,o.default)(r,[{key:"encode",value:function(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes([])}},{key:"decode",value:function(t){return t.readBytes(0),t.coerce(this.name,null)}}]),r}(r(24).Coder);e.NullCoder=c},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.NumberCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12)),f=r(30),c=r(103);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var d=function(t){(0,a.default)(r,t);var e=h(r);function r(t,n,o){var a;(0,i.default)(this,r);var s=(n?"int":"uint")+8*t;return(a=e.call(this,s,s,o,!1)).size=t,a.signed=n,a}return(0,o.default)(r,[{key:"encode",value:function(t,e){var r=f.BigNumber.from(e),n=c.MaxUint256.mask(8*t.wordSize);if(this.signed){var i=n.mask(8*this.size-1);(r.gt(i)||r.lt(i.add(c.One).mul(c.NegativeOne)))&&this._throwError("value out-of-bounds",e)}else(r.lt(c.Zero)||r.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",e);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*t.wordSize)),t.writeValue(r)}},{key:"decode",value:function(t){var e=t.readValue().mask(8*this.size);return this.signed&&(e=e.fromTwos(8*this.size)),t.coerce(this.name,e)}}]),r}(r(24).Coder);e.NumberCoder=d},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.StringCoder=void 0;var i=n(r(7)),o=n(r(8)),a=n(r(182)),s=n(r(14)),u=n(r(15)),f=n(r(12)),c=r(80);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,f.default)(t);if(e){var i=(0,f.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,u.default)(this,r)}}var d=function(t){(0,s.default)(r,t);var e=h(r);function r(t){return(0,i.default)(this,r),e.call(this,"string",t)}return(0,o.default)(r,[{key:"encode",value:function(t,e){return(0,a.default)((0,f.default)(r.prototype),"encode",this).call(this,t,(0,c.toUtf8Bytes)(e))}},{key:"decode",value:function(t){return(0,c.toUtf8String)((0,a.default)((0,f.default)(r.prototype),"decode",this).call(this,t))}}]),r}(r(181).DynamicBytesCoder);e.StringCoder=d},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.formatBytes32String=function(t){var e=(0,o.toUtf8Bytes)(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return(0,i.hexlify)((0,i.concat)([e,n.HashZero]).slice(0,32))},e.parseBytes32String=function(t){var e=(0,i.arrayify)(t);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");var r=31;for(;0===e[r-1];)r--;return(0,o.toUtf8String)(e.slice(0,r))};var n=r(103),i=r(13),o=r(105)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="strings/5.1.0"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e._nameprepTableA1=p,e._nameprepTableB2=m,e._nameprepTableC=b,e.nameprep=function(t){if(t.match(/^[a-z0-9-]*$/i)&&t.length<=59)return t.toLowerCase();var e=(0,n.toUtf8CodePoints)(t);r=e.map((function(t){if(u.indexOf(t)>=0)return[];if(t>=65024&&t<=65039)return[];var e=m(t);return e||[t]})),e=r.reduce((function(t,e){return e.forEach((function(e){t.push(e)})),t}),[]),(e=(0,n.toUtf8CodePoints)((0,n._toUtf8String)(e),n.UnicodeNormalizationForm.NFKC)).forEach((function(t){if(b(t))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),e.forEach((function(t){if(p(t))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var r;var i=(0,n._toUtf8String)(e);if("-"===i.substring(0,1)||"--"===i.substring(2,4)||"-"===i.substring(i.length-1))throw new Error("invalid hyphen");if(i.length>63)throw new Error("too long");return i};var n=r(105);function i(t,e){e||(e=function(t){return[parseInt(t,16)]});var r=0,n={};return t.split(",").forEach((function(t){var i=t.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])})),n}function o(t){var e=0;return t.split(",").map((function(t){var r=t.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:e+parseInt(r[0],16),h:e=parseInt(r[1],16)}}))}function a(t,e){for(var r=0,n=0;n=(r+=i.l)&&t<=r+i.h&&(t-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(t-r))continue;return i}}return null}var s=o("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),u="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(t){return parseInt(t,16)})),f=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],c=i("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),h=i("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),d=i("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(t){if(t.length%4!=0)throw new Error("bad data");for(var e=[],r=0;r1&&_.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[v.FunctionFragment.fromString(t).format()];return i||_.throwArgumentError("no matching function","signature",t),i}},{key:"getEvent",value:function(t){if((0,h.isHexString)(t)){var e=t.toLowerCase();for(var r in this.events)if(e===this.getEventTopic(r))return this.events[r];_.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){var n=t.trim(),i=Object.keys(this.events).filter((function(t){return t.split("(")[0]===n}));return 0===i.length?_.throwArgumentError("no matching event","name",n):i.length>1&&_.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var o=this.events[v.EventFragment.fromString(t).format()];return o||_.throwArgumentError("no matching event","signature",t),o}},{key:"getSighash",value:function(t){return"string"==typeof t&&(t=this.getFunction(t)),(0,p.getStatic)(this.constructor,"getSighash")(t)}},{key:"getEventTopic",value:function(t){return"string"==typeof t&&(t=this.getEvent(t)),(0,p.getStatic)(this.constructor,"getEventTopic")(t)}},{key:"_decodeParams",value:function(t,e){return this._abiCoder.decode(t,e)}},{key:"_encodeParams",value:function(t,e){return this._abiCoder.encode(t,e)}},{key:"encodeDeploy",value:function(t){return this._encodeParams(this.deploy.inputs,t||[])}},{key:"decodeFunctionData",value:function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=(0,h.arrayify)(e);return(0,h.hexlify)(r.slice(0,4))!==this.getSighash(t)&&_.throwArgumentError("data signature does not match function ".concat(t.name,"."),"data",(0,h.hexlify)(r)),this._decodeParams(t.inputs,r.slice(4))}},{key:"encodeFunctionData",value:function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),(0,h.hexlify)((0,h.concat)([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))}},{key:"decodeFunctionResult",value:function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=(0,h.arrayify)(e),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch(t){}break;case 4:"0x08c379a0"===(0,h.hexlify)(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return _.throwError("call revert exception",y.Logger.errors.CALL_EXCEPTION,{method:t.format(),errorSignature:i,errorArgs:[n],reason:n})}},{key:"encodeFunctionResult",value:function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),(0,h.hexlify)(this._abiCoder.encode(t.outputs,e||[]))}},{key:"encodeFilterTopics",value:function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&_.throwError("too many arguments for "+t.format(),y.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});var n=[];t.anonymous||n.push(this.getEventTopic(t));var i=function(t,e){return"string"===t.type?(0,d.id)(e):"bytes"===t.type?(0,l.keccak256)((0,h.hexlify)(e)):("address"===t.type&&r._abiCoder.encode(["address"],[e]),(0,h.hexZeroPad)((0,h.hexlify)(e),32))};for(e.forEach((function(e,r){var o=t.inputs[r];o.indexed?null==e?n.push(null):"array"===o.baseType||"tuple"===o.baseType?_.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,e):Array.isArray(e)?n.push(e.map((function(t){return i(o,t)}))):n.push(i(o,e)):null!=e&&_.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,e)}));n.length&&null===n[n.length-1];)n.pop();return n}},{key:"encodeEventLog",value:function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t));var n=[],i=[],o=[];return t.anonymous||n.push(this.getEventTopic(t)),e.length!==t.inputs.length&&_.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach((function(t,a){var s=e[a];if(t.indexed)if("string"===t.type)n.push((0,d.id)(s));else if("bytes"===t.type)n.push((0,l.keccak256)(s));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([t.type],[s]))}else i.push(t),o.push(s)})),{data:this._abiCoder.encode(i,o),topics:n}}},{key:"decodeEventLog",value:function(t,e,r){if("string"==typeof t&&(t=this.getEvent(t)),null!=r&&!t.anonymous){var n=this.getEventTopic(t);(0,h.isHexString)(r[0],32)&&r[0].toLowerCase()===n||_.throwError("fragment/topic mismatch",y.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],o=[],a=[];t.inputs.forEach((function(t,e){t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(i.push(v.ParamType.fromObject({type:"bytes32",name:t.name})),a.push(!0)):(i.push(t),a.push(!1)):(o.push(t),a.push(!1))}));var s=null!=r?this._abiCoder.decode(i,(0,h.concat)(r)):null,u=this._abiCoder.decode(o,e,!0),f=[],c=0,d=0;t.inputs.forEach((function(t,e){if(t.indexed)if(null==s)f[e]=new S({_isIndexed:!0,hash:null});else if(a[e])f[e]=new S({_isIndexed:!0,hash:s[d++]});else try{f[e]=s[d++]}catch(t){f[e]=t}else try{f[e]=u[c++]}catch(t){f[e]=t}if(t.name&&null==f[t.name]){var r=f[e];r instanceof Error?Object.defineProperty(f,t.name,{get:function(){throw A("property ".concat(JSON.stringify(t.name)),r)}}):f[t.name]=r}}));for(var l=function(t){var e=f[t];e instanceof Error&&Object.defineProperty(f,t,{get:function(){throw A("index ".concat(t),e)}})},p=0;p256||e[2]&&e[2]!==String(n))&&b.throwArgumentError("invalid numeric width","type",t);var i=_.mask(r?n-1:n),o=r?i.add(w).mul(y):g;return function(e){var r=u.BigNumber.from(e);return(r.lt(o)||r.gt(i))&&b.throwArgumentError("value out-of-bounds for ".concat(t),"value",e),(0,f.hexZeroPad)(r.toTwos(256).toHexString(),32)}}var a=t.match(/^bytes(\d+)$/);if(a){var h=parseInt(a[1]);return(0===h||h>32||a[1]!==String(h))&&b.throwArgumentError("invalid bytes width","type",t),function(e){return(0,f.arrayify)(e).length!==h&&b.throwArgumentError("invalid length for ".concat(t),"value",e),function(t){var e=(0,f.arrayify)(t),r=e.length%32;return r?(0,f.hexConcat)([e,v.slice(r)]):(0,f.hexlify)(e)}(e)}}switch(t){case"address":return function(t){return(0,f.hexZeroPad)((0,s.getAddress)(t),32)};case"bool":return function(t){return t?M:k};case"bytes":return function(t){return(0,c.keccak256)(t)};case"string":return function(t){return(0,p.id)(t)}}return null}function B(t,e){return"".concat(t,"(").concat(e.map((function(t){var e=t.name;return t.type+" "+e})).join(","),")")}var O=function(){function t(e){(0,o.default)(this,t),(0,h.defineReadOnly)(this,"types",Object.freeze((0,h.deepCopy)(e))),(0,h.defineReadOnly)(this,"_encoderCache",{}),(0,h.defineReadOnly)(this,"_types",{});var r={},n={},i={};Object.keys(e).forEach((function(t){r[t]={},n[t]=[],i[t]={}}));var a=function(t){var i={};e[t].forEach((function(o){i[o.name]&&b.throwArgumentError("duplicate variable name ".concat(JSON.stringify(o.name)," in ").concat(JSON.stringify(t)),"types",e),i[o.name]=!0;var a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===t&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(a)),"types",e),P(a)||(n[a]||b.throwArgumentError("unknown type ".concat(JSON.stringify(a)),"types",e),n[a].push(t),r[t][a]=!0)}))};for(var s in e)a(s);var u=Object.keys(n).filter((function(t){return 0===n[t].length}));for(var f in 0===u.length?b.throwArgumentError("missing primary type","types",e):u.length>1&&b.throwArgumentError("ambiguous primary types or unused types: ".concat(u.map((function(t){return JSON.stringify(t)})).join(", ")),"types",e),(0,h.defineReadOnly)(this,"primaryType",u[0]),function t(o,a){a[o]&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(o)),"types",e),a[o]=!0,Object.keys(r[o]).forEach((function(e){n[e]&&(t(e,a),Object.keys(a).forEach((function(t){i[t][e]=!0})))})),delete a[o]}(this.primaryType,{}),i){var c=Object.keys(i[f]);c.sort(),this._types[f]=B(f,e[f])+c.map((function(t){return B(t,e[t])})).join("")}}return(0,a.default)(t,[{key:"getEncoder",value:function(t){var e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}},{key:"_getEncoder",value:function(t){var e=this,r=P(t);if(r)return r;var n=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){var i=n[1],o=this.getEncoder(i),a=parseInt(n[3]);return function(t){a>=0&&t.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);var r=t.map(o);return e._types[i]&&(r=r.map(c.keccak256)),(0,c.keccak256)((0,f.hexConcat)(r))}}var s=this.types[t];if(s){var u=(0,p.id)(this._types[t]);return function(t){var r=s.map((function(r){var n=r.name,i=r.type,o=e.getEncoder(i)(t[n]);return e._types[i]?(0,c.keccak256)(o):o}));return r.unshift(u),(0,f.hexConcat)(r)}}return b.throwArgumentError("unknown type: ".concat(t),"type",t)}},{key:"encodeType",value:function(t){var e=this._types[t];return e||b.throwArgumentError("unknown type: ".concat(JSON.stringify(t)),"name",t),e}},{key:"encodeData",value:function(t,e){return this.getEncoder(t)(e)}},{key:"hashStruct",value:function(t,e){return(0,c.keccak256)(this.encodeData(t,e))}},{key:"encode",value:function(t){return this.encodeData(this.primaryType,t)}},{key:"hash",value:function(t){return this.hashStruct(this.primaryType,t)}},{key:"_visit",value:function(t,e,r){var n=this;if(P(t))return r(t,e);var i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){var o=i[1],a=parseInt(i[3]);return a>=0&&e.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((function(t){return n._visit(o,t,r)}))}var s=this.types[t];return s?s.reduce((function(t,i){var o=i.name,a=i.type;return t[o]=n._visit(a,e[o],r),t}),{}):b.throwArgumentError("unknown type: ".concat(t),"type",t)}},{key:"visit",value:function(t,e){return this._visit(this.primaryType,t,e)}}],[{key:"from",value:function(e){return new t(e)}},{key:"getPrimaryType",value:function(e){return t.from(e).primaryType}},{key:"hashStruct",value:function(e,r,n){return t.from(r).hashStruct(e,n)}},{key:"hashDomain",value:function(e){var r=[];for(var n in e){var i=S[n];i||b.throwArgumentError("invalid typed-data domain key: ".concat(JSON.stringify(n)),"domain",e),r.push({name:n,type:i})}return r.sort((function(t,e){return A.indexOf(t.name)-A.indexOf(e.name)})),t.hashStruct("EIP712Domain",{EIP712Domain:r},e)}},{key:"encode",value:function(e,r,n){return(0,f.hexConcat)(["0x1901",t.hashDomain(e),t.from(r).hash(n)])}},{key:"hash",value:function(e,r,n){return(0,c.keccak256)(t.encode(e,r,n))}},{key:"resolveNames",value:function(e,r,n,o){return m(this,void 0,void 0,i.default.mark((function a(){var s,u,c;return i.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:e=(0,h.shallowCopy)(e),s={},e.verifyingContract&&!(0,f.isHexString)(e.verifyingContract,20)&&(s[e.verifyingContract]="0x"),(u=t.from(r)).visit(n,(function(t,e){return"address"!==t||(0,f.isHexString)(e,20)||(s[e]="0x"),e})),a.t0=i.default.keys(s);case 6:if((a.t1=a.t0()).done){a.next=13;break}return c=a.t1.value,a.next=10,o(c);case 10:s[c]=a.sent,a.next=6;break;case 13:return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),n=u.visit(n,(function(t,e){return"address"===t&&s[e]?s[e]:e})),a.abrupt("return",{domain:e,value:n});case 16:case"end":return a.stop()}}),a)})))}},{key:"getPayload",value:function(e,r,n){t.hashDomain(e);var i={},o=[];A.forEach((function(t){var r=e[t];null!=r&&(i[t]=E[t](r),o.push({name:t,type:S[t]}))}));var a=t.from(r),s=(0,h.shallowCopy)(r);return s.EIP712Domain?b.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):s.EIP712Domain=o,a.encode(n),{types:s,domain:i,primaryType:a.primaryType,message:a.visit(n,(function(t,e){if(t.match(/^bytes(\d*)/))return(0,f.hexlify)((0,f.arrayify)(e));if(t.match(/^u?int/))return u.BigNumber.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&b.throwArgumentError("invalid string","value",e),e}return b.throwArgumentError("unsupported type","type",t)}))}}}]),t}();e.TypedDataEncoder=O},function(t,e,r){"use strict";(function(t,e,n){var i=r(0)(r(2)); +!function(){var r="object"===("undefined"==typeof window?"undefined":(0,i.default)(window))?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"===(void 0===t?"undefined":(0,i.default)(t))&&t.versions&&t.versions.node&&(r=e);for(var o=!r.JS_SHA3_NO_COMMON_JS&&"object"===(0,i.default)(n)&&n.exports,a="0123456789abcdef".split(""),s=[0,8,16,24],u=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],f=[224,256,384,512],c=["hex","buffer","arrayBuffer","array"],h=function(t,e,r){return function(n){return new k(t,e,t).update(n)[r]()}},l=function(t,e,r){return function(n,i){return new k(t,e,i).update(n)[r]()}},d=function(t,e){var r=h(t,e,"hex");r.create=function(){return new k(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}k.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,o=this.blocks,a=this.byteCount,u=this.blockCount,f=0,c=this.s;f>2]|=t[f]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(o[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=o[u],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+a[15&t]+a[t>>12&15]+a[t>>8&15]+a[t>>20&15]+a[t>>16&15]+a[t>>28&15]+a[t>>24&15];s%e==0&&(M(r),o=0)}return i&&(t=r[o],i>0&&(u+=a[t>>4&15]+a[15&t]),i>1&&(u+=a[t>>12&15]+a[t>>8&15]),i>2&&(u+=a[t>>20&15]+a[t>>16&15])),u},k.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%r==0&&M(n)}return o&&(t=s<<2,e=n[a],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var M=function(t){var e,r,n,i,o,a,s,f,c,h,l,d,p,m,b,v,y,g,w,_,k,M,S,A,x,E,O,P,B,T,R,I,C,U,j,N,L,F,D,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],f=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],l=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(h<<1|l>>>31),r=s^(l<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(d<<1|p>>>31),r=c^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,P=t[20]<<3|t[21]>>>29,B=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,U=t[2]<<1|t[3]>>>31,j=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,T=t[33]<<13|t[32]>>>19,R=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,N=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,k=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,O=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,M=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&P,t[11]=x^~O&B,t[20]=U^~N&F,t[21]=j^~L&D,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&k,t[12]=E^~P&T,t[13]=O^~B&R,t[22]=N^~F&q,t[23]=L^~D&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&M,t[5]=w^~k&S,t[14]=P^~T&I,t[15]=B^~R&C,t[24]=F^~q&z,t[25]=D^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~M&m,t[7]=k^~S&b,t[16]=T^~I&A,t[17]=R^~C&x,t[26]=q^~z&U,t[27]=H^~K&j,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=M^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&O,t[28]=z^~U&N,t[29]=K^~j&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=u[n],t[1]^=u[n+1]};if(o)n.exports=m;else for(v=0;v>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}})),h=s((function(t,e){var r=e;r.assert=u,r.toArray=c.toArray,r.zero2=c.zero2,r.toHex=c.toHex,r.encode=c.encode,r.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},r.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,u=t.andln(3)+i&3,f=e.andln(3)+o&3;3===u&&(u=-1),3===f&&(f=-1),a=0==(1&u)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==f?u:-u,r[0].push(a),s=0==(1&f)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==u?f:-f,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},r.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(t){return"string"==typeof t?r.toArray(t,"hex"):t},r.intFromLE=function(t){return new o.default(t,"hex","le")}})),l=h.getNAF,d=h.getJSF,p=h.assert;function m(t,e){this.type=t,this.p=new o.default(e.p,16),this.red=e.prime?o.default.red(e.prime):o.default.mont(this.p),this.zero=new o.default(0).toRed(this.red),this.one=new o.default(1).toRed(this.red),this.two=new o.default(2).toRed(this.red),this.n=e.n&&new o.default(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var b=m;function v(t,e){this.curve=t,this.type=e,this.precomputed=null}m.prototype.point=function(){throw new Error("Not implemented")},m.prototype.validate=function(){throw new Error("Not implemented")},m.prototype._fixedNafMul=function(t,e){p(t.precomputed);var r=t._getDoubles(),n=l(e,1,this._bitLength),i=(1<=o;u--)a=(a<<1)+n[u];s.push(a)}for(var f=this.jpoint(null,null,null),c=this.jpoint(null,null,null),h=i;h>0;h--){for(o=0;o=0;s--){for(var u=0;s>=0&&0===o[s];s--)u++;if(s>=0&&u++,a=a.dblp(u),s<0)break;var f=o[s];p(0!==f),a="affine"===t.type?f>0?a.mixedAdd(i[f-1>>1]):a.mixedAdd(i[-f-1>>1].neg()):f>0?a.add(i[f-1>>1]):a.add(i[-f-1>>1].neg())}return"affine"===t.type?a.toP():a},m.prototype._wnafMulAdd=function(t,e,r,n,i){var o,a,s,u=this._wnafT1,f=this._wnafT2,c=this._wnafT3,h=0;for(o=0;o=1;o-=2){var m=o-1,b=o;if(1===u[m]&&1===u[b]){var v=[e[m],null,null,e[b]];0===e[m].y.cmp(e[b].y)?(v[1]=e[m].add(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg())):0===e[m].y.cmp(e[b].y.redNeg())?(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].add(e[b].neg())):(v[1]=e[m].toJ().mixedAdd(e[b]),v[2]=e[m].toJ().mixedAdd(e[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],g=d(r[m],r[b]);for(h=Math.max(g[0].length,h),c[m]=new Array(h),c[b]=new Array(h),a=0;a=0;o--){for(var S=0;o>=0;){var A=!0;for(a=0;a=0&&S++,k=k.dblp(S),o<0)break;for(a=0;a0?s=f[a][x-1>>1]:x<0&&(s=f[a][-x-1>>1].neg()),k="affine"===s.type?k.mixedAdd(s):k.add(s))}}for(o=0;o=Math.ceil((t.bitLength()+1)/e.step)},v.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(a=e,s=r),n.negative&&(n=n.neg(),i=i.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:i},{a:a,b:s}]},w.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),f=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:u.add(f).neg()}},w.prototype.pointFromX=function(t,e){(t=new o.default(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},w.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},w.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},k.prototype.isInfinity=function(){return this.inf},k.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},k.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},k.prototype.getX=function(){return this.x.fromRed()},k.prototype.getY=function(){return this.y.fromRed()},k.prototype.mul=function(t){return t=new o.default(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},k.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},k.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},k.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},k.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},k.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},y(M,b.BasePoint),w.prototype.jpoint=function(t,e,r){return new M(this,t,e,r)},M.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},M.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},M.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=s.redSqr(),c=f.redMul(s),h=n.redMul(f),l=u.redSqr().redIAdd(c).redISub(h).redISub(h),d=u.redMul(h.redISub(l)).redISub(o.redMul(c)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(l,d,p)},M.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),c=r.redMul(u),h=s.redSqr().redIAdd(f).redISub(c).redISub(c),l=s.redMul(c.redISub(h)).redISub(i.redMul(f)),d=this.z.redMul(a);return this.curve.jpoint(h,l,d)},M.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},M.prototype.inspect=function(){return this.isInfinity()?"":""},M.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var S=s((function(t,e){var r=e;r.base=b,r.short=_,r.mont=null,r.edwards=null})),A=s((function(t,e){var r,n=e,i=h.assert;function o(t){"short"===t.type?this.curve=new S.short(t):"edwards"===t.type?this.curve=new S.edwards(t):this.curve=new S.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new o(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:a.default.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:a.default.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:a.default.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:a.default.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:a.default.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.default.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.default.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=null.crash()}catch(t){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:a.default.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function x(t){if(!(this instanceof x))return new x(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=c.toArray(t.entropy,t.entropyEnc||"hex"),r=c.toArray(t.nonce,t.nonceEnc||"hex"),n=c.toArray(t.pers,t.persEnc||"hex");u(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var E=x;x.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},x.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=c.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var T=h.assert;function R(t,e){if(t instanceof R)return t;this._importDER(t,e)||(T(t.r&&t.s,"Signature without r or s"),this.r=new o.default(t.r,16),this.s=new o.default(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var I=R;function C(){this.place=0}function U(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function j(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}R.prototype._importDER=function(t,e){t=h.toArray(t,e);var r=new C;if(48!==t[r.place++])return!1;var n=U(t,r);if(!1===n)return!1;if(n+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var i=U(t,r);if(!1===i)return!1;var a=t.slice(r.place,i+r.place);if(r.place+=i,2!==t[r.place++])return!1;var s=U(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var u=t.slice(r.place,s+r.place);if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}return this.r=new o.default(a),this.s=new o.default(u),this.recoveryParam=null,!0},R.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=j(e),r=j(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];N(n,e.length),(n=n.concat(e)).push(2),N(n,r.length);var i=n.concat(r),o=[48];return N(o,i.length),o=o.concat(i),h.encode(o,t)};var L=function(){throw new Error("unsupported")},F=h.assert;function D(t){if(!(this instanceof D))return new D(t);"string"==typeof t&&(F(Object.prototype.hasOwnProperty.call(A,t),"Unknown curve "+t),t=A[t]),t instanceof A.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var q=D;D.prototype.keyPair=function(t){return new B(this,t)},D.prototype.keyFromPrivate=function(t,e){return B.fromPrivate(this,t,e)},D.prototype.keyFromPublic=function(t,e){return B.fromPublic(this,t,e)},D.prototype.genKeyPair=function(t){t||(t={});for(var e=new E({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||L(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new o.default(2));;){var i=new o.default(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},D.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},D.prototype.sign=function(t,e,r,n){"object"===(0,i.default)(r)&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new o.default(t,16));for(var a=this.n.byteLength(),s=e.getPrivate().toArray("be",a),u=t.toArray("be",a),f=new E({hash:this.hash,entropy:s,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),c=this.n.sub(new o.default(1)),h=0;;h++){var l=n.k?n.k(h):new o.default(f.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(c)>=0)){var d=this.g.mul(l);if(!d.isInfinity()){var p=d.getX(),m=p.umod(this.n);if(0!==m.cmpn(0)){var b=l.invm(this.n).mul(m.mul(e.getPrivate()).iadd(t));if(0!==(b=b.umod(this.n)).cmpn(0)){var v=(d.getY().isOdd()?1:0)|(0!==p.cmp(m)?2:0);return n.canonical&&b.cmp(this.nh)>0&&(b=this.n.sub(b),v^=1),new I({r:m,s:b,recoveryParam:v})}}}}}},D.prototype.verify=function(t,e,r,n){t=this._truncateToN(new o.default(t,16)),r=this.keyFromPublic(r,n);var i=(e=new I(e,"hex")).r,a=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,u=a.invm(this.n),f=u.mul(t).umod(this.n),c=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(f,r.getPublic(),c)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(f,r.getPublic(),c)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},D.prototype.recoverPubKey=function(t,e,r,n){F((3&r)===r,"The recovery param is more than two bits"),e=new I(e,n);var i=this.n,a=new o.default(t),s=e.r,u=e.s,f=1&r,c=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");s=c?this.curve.pointFromX(s.add(this.curve.n),f):this.curve.pointFromX(s,f);var h=e.r.invm(i),l=i.sub(a).mul(h).umod(i),d=u.mul(h).umod(i);return this.g.mulAdd(l,s,d)},D.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new I(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var H=s((function(t,e){var r=e;r.version="6.5.4",r.utils=h,r.rand=function(){throw new Error("unsupported")},r.curve=S,r.curves=A,r.ec=q,r.eddsa=null})).ec;e.EC=H}).call(this,r(7))},function(t,e,r){"use strict";e.sha1=r(273),e.sha224=r(274),e.sha256=r(130),e.sha384=r(275),e.sha512=r(131)},function(t,e,r){"use strict";var n=r(21),i=r(49),o=r(129),a=n.rotl32,s=n.sum32,u=n.sum32_5,f=o.ft_1,c=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function l(){if(!(this instanceof l))return new l;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(l,c),t.exports=l,l.blockSize=512,l.outSize=160,l.hmacStrength=80,l.padLength=64,l.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;et.highestBlock-200&&(e._isSyncing=!1,e.emit("changed",e._isSyncing),"function"==typeof e.callback&&e.callback(null,e._isSyncing,e))}),500))}}}})];I.forEach((function(e){e.attachToObject(t),e.setRequestManager(t._requestManager,t.accounts),e.defaultBlock=t.defaultBlock,e.defaultAccount=t.defaultAccount,e.transactionBlockTimeout=t.transactionBlockTimeout,e.transactionConfirmationBlocks=t.transactionConfirmationBlocks,e.transactionPollingTimeout=t.transactionPollingTimeout,e.handleRevert=t.handleRevert}))};n.addProviders(k),t.exports=k},function(t,e,r){"use strict";var n=r(282);t.exports=n},function(t,e,r){"use strict";var n=r(0),i=n(r(48)),o=n(r(78)),a=r(132),s=r(10).formatters,u=r(16),f=r(283),c=r(306),h=r(307);function l(t){this.eth=t;var e=null;this._detectedAddress=null,this._lastSyncCheck=null,Object.defineProperty(this,"registry",{get:function(){return new f(this)},enumerable:!0}),Object.defineProperty(this,"resolverMethodHandler",{get:function(){return new c(this.registry)},enumerable:!0}),Object.defineProperty(this,"registryAddress",{get:function(){return e},set:function(t){e=null!==t?s.inputAddressFormatter(t):t},enumerable:!0})}l.prototype.supportsInterface=function(t,e,r){return this.getResolver(t).then((function(t){return u.isHexStrict(e)||(e=u.sha3(e).slice(0,10)),t.methods.supportsInterface(e).call(r)})).catch((function(t){if("function"!=typeof r)throw t;r(t,null)}))},l.prototype.resolver=function(t,e){return this.registry.resolver(t,e)},l.prototype.getResolver=function(t,e){return this.registry.getResolver(t,e)},l.prototype.setResolver=function(t,e,r,n){return this.registry.setResolver(t,e,r,n)},l.prototype.setRecord=function(t,e,r,n,i,o){return this.registry.setRecord(t,e,r,n,i,o)},l.prototype.setSubnodeRecord=function(t,e,r,n,i,o,a){return this.registry.setSubnodeRecord(t,e,r,n,i,o,a)},l.prototype.setApprovalForAll=function(t,e,r,n){return this.registry.setApprovalForAll(t,e,r,n)},l.prototype.isApprovedForAll=function(t,e,r){return this.registry.isApprovedForAll(t,e,r)},l.prototype.recordExists=function(t,e){return this.registry.recordExists(t,e)},l.prototype.setSubnodeOwner=function(t,e,r,n,i){return this.registry.setSubnodeOwner(t,e,r,n,i)},l.prototype.getTTL=function(t,e){return this.registry.getTTL(t,e)},l.prototype.setTTL=function(t,e,r,n){return this.registry.setTTL(t,e,r,n)},l.prototype.getOwner=function(t,e){return this.registry.getOwner(t,e)},l.prototype.setOwner=function(t,e,r,n){return this.registry.setOwner(t,e,r,n)},l.prototype.getAddress=function(t,e){return this.resolverMethodHandler.method(t,"addr",[]).call(e)},l.prototype.setAddress=function(t,e,r,n){return this.resolverMethodHandler.method(t,"setAddr",[e]).send(r,n)},l.prototype.getPubkey=function(t,e){return this.resolverMethodHandler.method(t,"pubkey",[],null,e).call(e)},l.prototype.setPubkey=function(t,e,r,n,i){return this.resolverMethodHandler.method(t,"setPubkey",[e,r]).send(n,i)},l.prototype.getContent=function(t,e){return this.resolverMethodHandler.method(t,"content",[]).call(e)},l.prototype.setContent=function(t,e,r,n){return this.resolverMethodHandler.method(t,"setContent",[e]).send(r,n)},l.prototype.getContenthash=function(t,e){return this.resolverMethodHandler.method(t,"contenthash",[],h.decode).call(e)},l.prototype.setContenthash=function(t,e,r,n){var i;try{i=h.encode(e)}catch(t){var o=new Error("Could not encode "+e+". See docs for supported hash protocols.");if("function"==typeof n)return void n(o,null);throw o}return this.resolverMethodHandler.method(t,"setContenthash",[i]).send(r,n)},l.prototype.getMultihash=function(t,e){return this.resolverMethodHandler.method(t,"multihash",[]).call(e)},l.prototype.setMultihash=function(t,e,r,n){return this.resolverMethodHandler.method(t,"multihash",[e]).send(r,n)},l.prototype.checkNetwork=(0,o.default)(i.default.mark((function t(){var e,r,n,o,s;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=new Date/1e3,this._lastSyncCheck&&!(e-this._lastSyncCheck>3600)){t.next=9;break}return t.next=4,this.eth.getBlock("latest");case 4:if(r=t.sent,!((n=e-r.timestamp)>3600)){t.next=8;break}throw new Error("Network not synced; last block was "+n+" seconds ago");case 8:this._lastSyncCheck=e;case 9:if(!this.registryAddress){t.next=11;break}return t.abrupt("return",this.registryAddress);case 11:if(this._detectedAddress){t.next=20;break}return t.next=14,this.eth.net.getNetworkType();case 14:if(o=t.sent,void 0!==(s=a.addresses[o])){t.next=18;break}throw new Error("ENS is not supported on network "+o);case 18:return this._detectedAddress=s,t.abrupt("return",this._detectedAddress);case 20:return t.abrupt("return",this._detectedAddress);case 21:case"end":return t.stop()}}),t,this)}))),t.exports=l},function(t,e,r){"use strict";var n=r(133),i=r(144),o=r(57),a=r(10).formatters,s=r(16),u=r(304),f=r(305);function c(t){var e=this;this.ens=t,this.contract=t.checkNetwork().then((function(t){var r=new n(u,t);return r.setProvider(e.ens.eth.currentProvider),r}))}c.prototype.owner=function(t,e){return console.warn('Deprecated: Please use the "getOwner" method instead of "owner".'),this.getOwner(t,e)},c.prototype.getOwner=function(t,e){var r=new o(!0);return this.contract.then((function(e){return e.methods.owner(i.hash(t)).call()})).then((function(t){"function"!=typeof e?r.resolve(t):e(t,t)})).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},c.prototype.setOwner=function(t,e,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setOwner(i.hash(t),a.inputAddressFormatter(e)).send(r)})).then((function(t){"function"!=typeof n?s.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?s.reject(t):n(t,null)})),s.eventEmitter},c.prototype.getTTL=function(t,e){var r=new o(!0);return this.contract.then((function(e){return e.methods.ttl(i.hash(t)).call()})).then((function(t){"function"!=typeof e?r.resolve(t):e(t,t)})).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},c.prototype.setTTL=function(t,e,r,n){var a=new o(!0);return this.contract.then((function(n){return n.methods.setTTL(i.hash(t),e).send(r)})).then((function(t){"function"!=typeof n?a.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?a.reject(t):n(t,null)})),a.eventEmitter},c.prototype.setSubnodeOwner=function(t,e,r,n,u){var f=new o(!0);return s.isHexStrict(e)||(e=s.sha3(e)),this.contract.then((function(o){return o.methods.setSubnodeOwner(i.hash(t),e,a.inputAddressFormatter(r)).send(n)})).then((function(t){"function"!=typeof u?f.resolve(t):u(t,t)})).catch((function(t){"function"!=typeof u?f.reject(t):u(t,null)})),f.eventEmitter},c.prototype.setRecord=function(t,e,r,n,s,u){var f=new o(!0);return this.contract.then((function(o){return o.methods.setRecord(i.hash(t),a.inputAddressFormatter(e),a.inputAddressFormatter(r),n).send(s)})).then((function(t){"function"!=typeof u?f.resolve(t):u(t,t)})).catch((function(t){"function"!=typeof u?f.reject(t):u(t,null)})),f.eventEmitter},c.prototype.setSubnodeRecord=function(t,e,r,n,u,f,c){var h=new o(!0);return s.isHexStrict(e)||(e=s.sha3(e)),this.contract.then((function(o){return o.methods.setSubnodeRecord(i.hash(t),e,a.inputAddressFormatter(r),a.inputAddressFormatter(n),u).send(f)})).then((function(t){"function"!=typeof c?h.resolve(t):c(t,t)})).catch((function(t){"function"!=typeof c?h.reject(t):c(t,null)})),h.eventEmitter},c.prototype.setApprovalForAll=function(t,e,r,n){var i=new o(!0);return this.contract.then((function(n){return n.methods.setApprovalForAll(a.inputAddressFormatter(t),e).send(r)})).then((function(t){"function"!=typeof n?i.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?i.reject(t):n(t,null)})),i.eventEmitter},c.prototype.isApprovedForAll=function(t,e,r){var n=new o(!0);return this.contract.then((function(r){return r.methods.isApprovedForAll(a.inputAddressFormatter(t),a.inputAddressFormatter(e)).call()})).then((function(t){"function"!=typeof r?n.resolve(t):r(t,t)})).catch((function(t){"function"!=typeof r?n.reject(t):r(t,null)})),n.eventEmitter},c.prototype.recordExists=function(t,e){var r=new o(!0);return this.contract.then((function(e){return e.methods.recordExists(i.hash(t)).call()})).then((function(t){"function"!=typeof e?r.resolve(t):e(t,t)})).catch((function(t){"function"!=typeof e?r.reject(t):e(t,null)})),r.eventEmitter},c.prototype.resolver=function(t,e){return console.warn('Deprecated: Please use the "getResolver" method instead of "resolver".'),this.getResolver(t,e)},c.prototype.getResolver=function(t,e){var r=this;return this.contract.then((function(e){return e.methods.resolver(i.hash(t)).call()})).then((function(t){var i=new n(f,t);if(i.setProvider(r.ens.eth.currentProvider),"function"!=typeof e)return i;e(i,i)})).catch((function(t){if("function"!=typeof e)throw t;e(t,null)}))},c.prototype.setResolver=function(t,e,r,n){var s=new o(!0);return this.contract.then((function(n){return n.methods.setResolver(i.hash(t),a.inputAddressFormatter(e)).send(r)})).then((function(t){"function"!=typeof n?s.resolve(t):n(t,t)})).catch((function(t){"function"!=typeof n?s.reject(t):n(t,null)})),s.eventEmitter},t.exports=c},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.AddressCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13)),f=r(59),c=r(11);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var l=function(t){(0,a.default)(r,t);var e=h(r);function r(t){return(0,i.default)(this,r),e.call(this,"address","address",t,!1)}return(0,o.default)(r,[{key:"encode",value:function(t,e){try{(0,f.getAddress)(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)}},{key:"decode",value:function(t){return(0,f.getAddress)((0,c.hexZeroPad)(t.readValue().toHexString(),20))}}]),r}(r(20).Coder);e.AddressCoder=l},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.AnonymousCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(t){(0,a.default)(r,t);var e=f(r);function r(t){var n;return(0,i.default)(this,r),(n=e.call(this,t.name,t.type,void 0,t.dynamic)).coder=t,n}return(0,o.default)(r,[{key:"encode",value:function(t,e){return this.coder.encode(t,e)}},{key:"decode",value:function(t){return this.coder.decode(t)}}]),r}(r(20).Coder);e.AnonymousCoder=c},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.BooleanCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(t){(0,a.default)(r,t);var e=f(r);function r(t){return(0,i.default)(this,r),e.call(this,"bool","bool",t,!1)}return(0,o.default)(r,[{key:"encode",value:function(t,e){return t.writeValue(e?1:0)}},{key:"decode",value:function(t){return t.coerce(this.type,!t.readValue().isZero())}}]),r}(r(20).Coder);e.BooleanCoder=c},function(t,e,r){"use strict";var n=r(13);t.exports=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=n(t)););return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.FixedBytesCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13)),f=r(11);function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var h=function(t){(0,a.default)(r,t);var e=c(r);function r(t,n){var o;(0,i.default)(this,r);var a="bytes"+String(t);return(o=e.call(this,a,a,n,!1)).size=t,o}return(0,o.default)(r,[{key:"encode",value:function(t,e){var r=(0,f.arrayify)(e);return r.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(r)}},{key:"decode",value:function(t){return t.coerce(this.name,(0,f.hexlify)(t.readBytes(this.size)))}}]),r}(r(20).Coder);e.FixedBytesCoder=h},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.NullCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(t){(0,a.default)(r,t);var e=f(r);function r(t){return(0,i.default)(this,r),e.call(this,"null","",t,!1)}return(0,o.default)(r,[{key:"encode",value:function(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes([])}},{key:"decode",value:function(t){return t.readBytes(0),t.coerce(this.name,null)}}]),r}(r(20).Coder);e.NullCoder=c},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.NumberCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13)),f=r(24),c=r(79);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var l=function(t){(0,a.default)(r,t);var e=h(r);function r(t,n,o){var a;(0,i.default)(this,r);var s=(n?"int":"uint")+8*t;return(a=e.call(this,s,s,o,!1)).size=t,a.signed=n,a}return(0,o.default)(r,[{key:"encode",value:function(t,e){var r=f.BigNumber.from(e),n=c.MaxUint256.mask(8*t.wordSize);if(this.signed){var i=n.mask(8*this.size-1);(r.gt(i)||r.lt(i.add(c.One).mul(c.NegativeOne)))&&this._throwError("value out-of-bounds",e)}else(r.lt(c.Zero)||r.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",e);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*t.wordSize)),t.writeValue(r)}},{key:"decode",value:function(t){var e=t.readValue().mask(8*this.size);return this.signed&&(e=e.fromTwos(8*this.size)),t.coerce(this.name,e)}}]),r}(r(20).Coder);e.NumberCoder=l},function(t,e,r){"use strict";var n=r(0);Object.defineProperty(e,"__esModule",{value:!0}),e.StringCoder=void 0;var i=n(r(5)),o=n(r(9)),a=n(r(141)),s=n(r(14)),u=n(r(15)),f=n(r(13)),c=r(62);function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,f.default)(t);if(e){var i=(0,f.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,u.default)(this,r)}}var l=function(t){(0,s.default)(r,t);var e=h(r);function r(t){return(0,i.default)(this,r),e.call(this,"string",t)}return(0,o.default)(r,[{key:"encode",value:function(t,e){return(0,a.default)((0,f.default)(r.prototype),"encode",this).call(this,t,(0,c.toUtf8Bytes)(e))}},{key:"decode",value:function(t){return(0,c.toUtf8String)((0,a.default)((0,f.default)(r.prototype),"decode",this).call(this,t))}}]),r}(r(140).DynamicBytesCoder);e.StringCoder=l},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.formatBytes32String=function(t){var e=(0,o.toUtf8Bytes)(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return(0,i.hexlify)((0,i.concat)([e,n.HashZero]).slice(0,32))},e.parseBytes32String=function(t){var e=(0,i.arrayify)(t);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");var r=31;for(;0===e[r-1];)r--;return(0,o.toUtf8String)(e.slice(0,r))};var n=r(79),i=r(11),o=r(81)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version="strings/5.1.0"},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e._nameprepTableA1=p,e._nameprepTableB2=m,e._nameprepTableC=b,e.nameprep=function(t){if(t.match(/^[a-z0-9-]*$/i)&&t.length<=59)return t.toLowerCase();var e=(0,n.toUtf8CodePoints)(t);r=e.map((function(t){if(u.indexOf(t)>=0)return[];if(t>=65024&&t<=65039)return[];var e=m(t);return e||[t]})),e=r.reduce((function(t,e){return e.forEach((function(e){t.push(e)})),t}),[]),(e=(0,n.toUtf8CodePoints)((0,n._toUtf8String)(e),n.UnicodeNormalizationForm.NFKC)).forEach((function(t){if(b(t))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),e.forEach((function(t){if(p(t))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var r;var i=(0,n._toUtf8String)(e);if("-"===i.substring(0,1)||"--"===i.substring(2,4)||"-"===i.substring(i.length-1))throw new Error("invalid hyphen");if(i.length>63)throw new Error("too long");return i};var n=r(81);function i(t,e){e||(e=function(t){return[parseInt(t,16)]});var r=0,n={};return t.split(",").forEach((function(t){var i=t.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])})),n}function o(t){var e=0;return t.split(",").map((function(t){var r=t.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:e+parseInt(r[0],16),h:e=parseInt(r[1],16)}}))}function a(t,e){for(var r=0,n=0;n=(r+=i.l)&&t<=r+i.h&&(t-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(t-r))continue;return i}}return null}var s=o("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),u="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(t){return parseInt(t,16)})),f=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],c=i("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),h=i("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),l=i("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(t){if(t.length%4!=0)throw new Error("bad data");for(var e=[],r=0;r1&&_.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[v.FunctionFragment.fromString(t).format()];return i||_.throwArgumentError("no matching function","signature",t),i}},{key:"getEvent",value:function(t){if((0,h.isHexString)(t)){var e=t.toLowerCase();for(var r in this.events)if(e===this.getEventTopic(r))return this.events[r];_.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){var n=t.trim(),i=Object.keys(this.events).filter((function(t){return t.split("(")[0]===n}));return 0===i.length?_.throwArgumentError("no matching event","name",n):i.length>1&&_.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var o=this.events[v.EventFragment.fromString(t).format()];return o||_.throwArgumentError("no matching event","signature",t),o}},{key:"getSighash",value:function(t){return"string"==typeof t&&(t=this.getFunction(t)),(0,p.getStatic)(this.constructor,"getSighash")(t)}},{key:"getEventTopic",value:function(t){return"string"==typeof t&&(t=this.getEvent(t)),(0,p.getStatic)(this.constructor,"getEventTopic")(t)}},{key:"_decodeParams",value:function(t,e){return this._abiCoder.decode(t,e)}},{key:"_encodeParams",value:function(t,e){return this._abiCoder.encode(t,e)}},{key:"encodeDeploy",value:function(t){return this._encodeParams(this.deploy.inputs,t||[])}},{key:"decodeFunctionData",value:function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=(0,h.arrayify)(e);return(0,h.hexlify)(r.slice(0,4))!==this.getSighash(t)&&_.throwArgumentError("data signature does not match function ".concat(t.name,"."),"data",(0,h.hexlify)(r)),this._decodeParams(t.inputs,r.slice(4))}},{key:"encodeFunctionData",value:function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),(0,h.hexlify)((0,h.concat)([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))}},{key:"decodeFunctionResult",value:function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=(0,h.arrayify)(e),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch(t){}break;case 4:"0x08c379a0"===(0,h.hexlify)(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return _.throwError("call revert exception",y.Logger.errors.CALL_EXCEPTION,{method:t.format(),errorSignature:i,errorArgs:[n],reason:n})}},{key:"encodeFunctionResult",value:function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),(0,h.hexlify)(this._abiCoder.encode(t.outputs,e||[]))}},{key:"encodeFilterTopics",value:function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&_.throwError("too many arguments for "+t.format(),y.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});var n=[];t.anonymous||n.push(this.getEventTopic(t));var i=function(t,e){return"string"===t.type?(0,l.id)(e):"bytes"===t.type?(0,d.keccak256)((0,h.hexlify)(e)):("address"===t.type&&r._abiCoder.encode(["address"],[e]),(0,h.hexZeroPad)((0,h.hexlify)(e),32))};for(e.forEach((function(e,r){var o=t.inputs[r];o.indexed?null==e?n.push(null):"array"===o.baseType||"tuple"===o.baseType?_.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,e):Array.isArray(e)?n.push(e.map((function(t){return i(o,t)}))):n.push(i(o,e)):null!=e&&_.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,e)}));n.length&&null===n[n.length-1];)n.pop();return n}},{key:"encodeEventLog",value:function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t));var n=[],i=[],o=[];return t.anonymous||n.push(this.getEventTopic(t)),e.length!==t.inputs.length&&_.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach((function(t,a){var s=e[a];if(t.indexed)if("string"===t.type)n.push((0,l.id)(s));else if("bytes"===t.type)n.push((0,d.keccak256)(s));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([t.type],[s]))}else i.push(t),o.push(s)})),{data:this._abiCoder.encode(i,o),topics:n}}},{key:"decodeEventLog",value:function(t,e,r){if("string"==typeof t&&(t=this.getEvent(t)),null!=r&&!t.anonymous){var n=this.getEventTopic(t);(0,h.isHexString)(r[0],32)&&r[0].toLowerCase()===n||_.throwError("fragment/topic mismatch",y.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],o=[],a=[];t.inputs.forEach((function(t,e){t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(i.push(v.ParamType.fromObject({type:"bytes32",name:t.name})),a.push(!0)):(i.push(t),a.push(!1)):(o.push(t),a.push(!1))}));var s=null!=r?this._abiCoder.decode(i,(0,h.concat)(r)):null,u=this._abiCoder.decode(o,e,!0),f=[],c=0,l=0;t.inputs.forEach((function(t,e){if(t.indexed)if(null==s)f[e]=new S({_isIndexed:!0,hash:null});else if(a[e])f[e]=new S({_isIndexed:!0,hash:s[l++]});else try{f[e]=s[l++]}catch(t){f[e]=t}else try{f[e]=u[c++]}catch(t){f[e]=t}if(t.name&&null==f[t.name]){var r=f[e];r instanceof Error?Object.defineProperty(f,t.name,{get:function(){throw A("property ".concat(JSON.stringify(t.name)),r)}}):f[t.name]=r}}));for(var d=function(t){var e=f[t];e instanceof Error&&Object.defineProperty(f,t,{get:function(){throw A("index ".concat(t),e)}})},p=0;p256||e[2]&&e[2]!==String(n))&&b.throwArgumentError("invalid numeric width","type",t);var i=_.mask(r?n-1:n),o=r?i.add(w).mul(y):g;return function(e){var r=u.BigNumber.from(e);return(r.lt(o)||r.gt(i))&&b.throwArgumentError("value out-of-bounds for ".concat(t),"value",e),(0,f.hexZeroPad)(r.toTwos(256).toHexString(),32)}}var a=t.match(/^bytes(\d+)$/);if(a){var h=parseInt(a[1]);return(0===h||h>32||a[1]!==String(h))&&b.throwArgumentError("invalid bytes width","type",t),function(e){return(0,f.arrayify)(e).length!==h&&b.throwArgumentError("invalid length for ".concat(t),"value",e),function(t){var e=(0,f.arrayify)(t),r=e.length%32;return r?(0,f.hexConcat)([e,v.slice(r)]):(0,f.hexlify)(e)}(e)}}switch(t){case"address":return function(t){return(0,f.hexZeroPad)((0,s.getAddress)(t),32)};case"bool":return function(t){return t?k:M};case"bytes":return function(t){return(0,c.keccak256)(t)};case"string":return function(t){return(0,p.id)(t)}}return null}function P(t,e){return"".concat(t,"(").concat(e.map((function(t){var e=t.name;return t.type+" "+e})).join(","),")")}var B=function(){function t(e){(0,o.default)(this,t),(0,h.defineReadOnly)(this,"types",Object.freeze((0,h.deepCopy)(e))),(0,h.defineReadOnly)(this,"_encoderCache",{}),(0,h.defineReadOnly)(this,"_types",{});var r={},n={},i={};Object.keys(e).forEach((function(t){r[t]={},n[t]=[],i[t]={}}));var a=function(t){var i={};e[t].forEach((function(o){i[o.name]&&b.throwArgumentError("duplicate variable name ".concat(JSON.stringify(o.name)," in ").concat(JSON.stringify(t)),"types",e),i[o.name]=!0;var a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===t&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(a)),"types",e),O(a)||(n[a]||b.throwArgumentError("unknown type ".concat(JSON.stringify(a)),"types",e),n[a].push(t),r[t][a]=!0)}))};for(var s in e)a(s);var u=Object.keys(n).filter((function(t){return 0===n[t].length}));for(var f in 0===u.length?b.throwArgumentError("missing primary type","types",e):u.length>1&&b.throwArgumentError("ambiguous primary types or unused types: ".concat(u.map((function(t){return JSON.stringify(t)})).join(", ")),"types",e),(0,h.defineReadOnly)(this,"primaryType",u[0]),function t(o,a){a[o]&&b.throwArgumentError("circular type reference to ".concat(JSON.stringify(o)),"types",e),a[o]=!0,Object.keys(r[o]).forEach((function(e){n[e]&&(t(e,a),Object.keys(a).forEach((function(t){i[t][e]=!0})))})),delete a[o]}(this.primaryType,{}),i){var c=Object.keys(i[f]);c.sort(),this._types[f]=P(f,e[f])+c.map((function(t){return P(t,e[t])})).join("")}}return(0,a.default)(t,[{key:"getEncoder",value:function(t){var e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}},{key:"_getEncoder",value:function(t){var e=this,r=O(t);if(r)return r;var n=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){var i=n[1],o=this.getEncoder(i),a=parseInt(n[3]);return function(t){a>=0&&t.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);var r=t.map(o);return e._types[i]&&(r=r.map(c.keccak256)),(0,c.keccak256)((0,f.hexConcat)(r))}}var s=this.types[t];if(s){var u=(0,p.id)(this._types[t]);return function(t){var r=s.map((function(r){var n=r.name,i=r.type,o=e.getEncoder(i)(t[n]);return e._types[i]?(0,c.keccak256)(o):o}));return r.unshift(u),(0,f.hexConcat)(r)}}return b.throwArgumentError("unknown type: ".concat(t),"type",t)}},{key:"encodeType",value:function(t){var e=this._types[t];return e||b.throwArgumentError("unknown type: ".concat(JSON.stringify(t)),"name",t),e}},{key:"encodeData",value:function(t,e){return this.getEncoder(t)(e)}},{key:"hashStruct",value:function(t,e){return(0,c.keccak256)(this.encodeData(t,e))}},{key:"encode",value:function(t){return this.encodeData(this.primaryType,t)}},{key:"hash",value:function(t){return this.hashStruct(this.primaryType,t)}},{key:"_visit",value:function(t,e,r){var n=this;if(O(t))return r(t,e);var i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){var o=i[1],a=parseInt(i[3]);return a>=0&&e.length!==a&&b.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((function(t){return n._visit(o,t,r)}))}var s=this.types[t];return s?s.reduce((function(t,i){var o=i.name,a=i.type;return t[o]=n._visit(a,e[o],r),t}),{}):b.throwArgumentError("unknown type: ".concat(t),"type",t)}},{key:"visit",value:function(t,e){return this._visit(this.primaryType,t,e)}}],[{key:"from",value:function(e){return new t(e)}},{key:"getPrimaryType",value:function(e){return t.from(e).primaryType}},{key:"hashStruct",value:function(e,r,n){return t.from(r).hashStruct(e,n)}},{key:"hashDomain",value:function(e){var r=[];for(var n in e){var i=S[n];i||b.throwArgumentError("invalid typed-data domain key: ".concat(JSON.stringify(n)),"domain",e),r.push({name:n,type:i})}return r.sort((function(t,e){return A.indexOf(t.name)-A.indexOf(e.name)})),t.hashStruct("EIP712Domain",{EIP712Domain:r},e)}},{key:"encode",value:function(e,r,n){return(0,f.hexConcat)(["0x1901",t.hashDomain(e),t.from(r).hash(n)])}},{key:"hash",value:function(e,r,n){return(0,c.keccak256)(t.encode(e,r,n))}},{key:"resolveNames",value:function(e,r,n,o){return m(this,void 0,void 0,i.default.mark((function a(){var s,u,c;return i.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:e=(0,h.shallowCopy)(e),s={},e.verifyingContract&&!(0,f.isHexString)(e.verifyingContract,20)&&(s[e.verifyingContract]="0x"),(u=t.from(r)).visit(n,(function(t,e){return"address"!==t||(0,f.isHexString)(e,20)||(s[e]="0x"),e})),a.t0=i.default.keys(s);case 6:if((a.t1=a.t0()).done){a.next=13;break}return c=a.t1.value,a.next=10,o(c);case 10:s[c]=a.sent,a.next=6;break;case 13:return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),n=u.visit(n,(function(t,e){return"address"===t&&s[e]?s[e]:e})),a.abrupt("return",{domain:e,value:n});case 16:case"end":return a.stop()}}),a)})))}},{key:"getPayload",value:function(e,r,n){t.hashDomain(e);var i={},o=[];A.forEach((function(t){var r=e[t];null!=r&&(i[t]=E[t](r),o.push({name:t,type:S[t]}))}));var a=t.from(r),s=(0,h.shallowCopy)(r);return s.EIP712Domain?b.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):s.EIP712Domain=o,a.encode(n),{types:s,domain:i,primaryType:a.primaryType,message:a.visit(n,(function(t,e){if(t.match(/^bytes(\d*)/))return(0,f.hexlify)((0,f.arrayify)(e));if(t.match(/^u?int/))return u.BigNumber.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&b.throwArgumentError("invalid string","value",e),e}return b.throwArgumentError("unsupported type","type",t)}))}}}]),t}();e.TypedDataEncoder=B},function(t,e,r){"use strict";(function(t,e,n){var i=r(0)(r(2)); /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -53,6 +52,6 @@ a=function(){return function(t){var e={};function r(n){if(e[n])return e[n].expor * @copyright Chen, Yi-Cyuan 2015-2016 * @license MIT */ -!function(){var r="object"===("undefined"==typeof window?"undefined":(0,i.default)(window))?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"===(void 0===t?"undefined":(0,i.default)(t))&&t.versions&&t.versions.node&&(r=e);for(var o=!r.JS_SHA3_NO_COMMON_JS&&"object"===(0,i.default)(n)&&n.exports,a="0123456789abcdef".split(""),s=[0,8,16,24],u=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],f=[224,256,384,512],c=["hex","buffer","arrayBuffer","array"],h=function(t,e,r){return function(n){return new M(t,e,t).update(n)[r]()}},d=function(t,e,r){return function(n,i){return new M(t,e,i).update(n)[r]()}},l=function(t,e){var r=h(t,e,"hex");r.create=function(){return new M(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}M.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,o=this.blocks,a=this.byteCount,u=this.blockCount,f=0,c=this.s;f>2]|=t[f]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(o[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=o[u],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+a[15&t]+a[t>>12&15]+a[t>>8&15]+a[t>>20&15]+a[t>>16&15]+a[t>>28&15]+a[t>>24&15];s%e==0&&(k(r),o=0)}return i&&(t=r[o],i>0&&(u+=a[t>>4&15]+a[15&t]),i>1&&(u+=a[t>>12&15]+a[t>>8&15]),i>2&&(u+=a[t>>20&15]+a[t>>16&15])),u},M.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%r==0&&k(n)}return o&&(t=s<<2,e=n[a],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var k=function(t){var e,r,n,i,o,a,s,f,c,h,d,l,p,m,b,v,y,g,w,_,M,k,S,A,x,E,P,B,O,R,T,I,C,N,U,j,L,D,F,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],f=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],d=t[7]^t[17]^t[27]^t[37]^t[47],e=(l=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(h<<1|d>>>31),r=s^(d<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(l<<1|p>>>31),r=c^(p<<1|l>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=d^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,B=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,N=t[2]<<1|t[3]>>>31,U=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,j=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,F=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,k=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&B,t[11]=x^~P&O,t[20]=N^~j&D,t[21]=U^~L&F,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&M,t[12]=E^~B&R,t[13]=P^~O&T,t[22]=j^~D&q,t[23]=L^~F&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&k,t[5]=w^~M&S,t[14]=B^~R&I,t[15]=O^~T&C,t[24]=D^~q&z,t[25]=F^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~k&m,t[7]=M^~S&b,t[16]=R^~I&A,t[17]=T^~C&x,t[26]=q^~z&N,t[27]=H^~K&U,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=k^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&P,t[28]=z^~N&j,t[29]=K^~U&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=u[n],t[1]^=u[n+1]};if(o)n.exports=m;else for(v=0;v>23,d=c>>21&3,l=c>>5&65535,p=31&c,m=e.mapStr.substr(l,p);if(0===d||n&&1&h)throw new Error("Illegal char "+f);1===d?o.push(m):2===d?o.push(i?m:f):3===d&&o.push(f)}return o.join("").normalize("NFC")}function n(e,n,o){void 0===o&&(o=!1);var a=r(e,o,n).split(".");return(a=a.map((function(e){return e.startsWith("xn--")?i(e=t.decode(e.substring(4)),o,!1):i(e,o,n),e}))).join(".")}function i(t,n,i){if("-"===t[2]&&"-"===t[3])throw new Error("Failed to validate "+t);if(t.startsWith("-")||t.endsWith("-"))throw new Error("Failed to validate "+t);if(t.includes("."))throw new Error("Failed to validate "+t);if(r(t,n,i)!==t)throw new Error("Failed to validate "+t);var o=t.codePointAt(0);if(e.mapChar(o)&2<<23)throw new Error("Label contains illegal character: "+o)}return{toUnicode:function(t,e){return void 0===e&&(e={}),n(t,!1,"useStd3ASCII"in e&&e.useStd3ASCII)},toAscii:function(e,r){void 0===r&&(r={});var i,o=!("transitional"in r)||r.transitional,a="useStd3ASCII"in r&&r.useStd3ASCII,s="verifyDnsLength"in r&&r.verifyDnsLength,u=n(e,o,a).split(".").map(t.toASCII),f=u.join(".");if(s){if(f.length<1||f.length>253)throw new Error("DNS name has wrong length: "+f);for(i=0;i63)throw new Error("DNS label has wrong length: "+c)}}return f}}}(t,e)}.apply(e,n))||(t.exports=i)},function(t,e,r){"use strict";var n;r(0)(r(2));void 0===(n=function(){return t=[new Uint32Array([2157250,2157314,2157378,2157442,2157506,2157570,2157634,0,2157698,2157762,2157826,2157890,2157954,0,2158018,0]),new Uint32Array([2179041,6291456,2179073,6291456,2179105,6291456,2179137,6291456,2179169,6291456,2179201,6291456,2179233,6291456,2179265,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([0,2113729,2197345,2197377,2113825,2197409,2197441,2113921,2197473,2114017,2197505,2197537,2197569,2197601,2197633,2197665]),new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672,23068672,0,0,0,0,23068672]),new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064]),new Uint32Array([2196001,2196033,2196065,2196097,2196129,2196161,2196193,2196225,2196257,2196289,2196321,2196353,2196385,2196417,2196449,2196481]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,0,0,0,0,0]),new Uint32Array([2097281,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([2177025,6291456,2177057,6291456,2177089,6291456,2177121,6291456,2177153,6291456,2177185,6291456,2177217,6291456,2177249,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456]),new Uint32Array([2134435,2134531,2134627,2134723,2134723,2134819,2134819,2134915,2134915,2135011,2105987,2135107,2135203,2135299,2131587,2135395]),new Uint32Array([0,0,0,0,0,0,0,6291456,2168673,2169249,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354,2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354]),new Uint32Array([2125219,2125315,2152834,2152898,2125411,2152962,2153026,2125506,2125507,2125603,2153090,2153154,2153218,2153282,2153346,2105348]),new Uint32Array([2203393,6291456,2203425,6291456,2203457,6291456,2203489,6291456,6291456,6291456,6291456,2203521,6291456,2181281,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,6291456,2145538,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,6291456]),new Uint32Array([2139426,2160834,2160898,2160962,2134242,2161026,2161090,2161154,2161218,2161282,2161346,2161410,2138658,2161474,2161538,2134722]),new Uint32Array([2119939,2124930,2125026,2106658,2125218,2128962,2129058,2129154,2129250,2129346,2129442,2108866,2108770,2150466,2150530,2150594]),new Uint32Array([2201601,6291456,2201633,6291456,2201665,6291456,2201697,6291456,2201729,6291456,2201761,6291456,2201793,6291456,2201825,6291456]),new Uint32Array([2193537,2193569,2193601,2193633,2193665,2193697,2193729,2193761,2193793,2193825,2193857,2193889,2193921,2193953,2193985,2194017]),new Uint32Array([6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2190561,6291456,2190593,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2190625,6291456,2190657,6291456,23068672]),new Uint32Array([2215905,2215937,2215969,2216001,2216033,2216065,2216097,2216129,2216161,2216193,2216225,2216257,2105441,2216289,2216321,2216353]),new Uint32Array([23068672,18884130,23068672,23068672,23068672,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2191233,2191265,2191297,2191329,2191361,2191393,2191425,2117377,2191457,2191489,2191521,2191553,2191585,2191617,2191649,2117953]),new Uint32Array([2132227,2132323,2132419,2132419,2132515,2132515,2132611,2132707,2132707,2132803,2132899,2132899,2132995,2132995,2133091,2133187]),new Uint32Array([0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,0,0]),new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10609889,10610785,10609921,10610817,2222241]),new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),new Uint32Array([2219969,2157121,2157441,2157505,2157889,2157953,2220001,2158465,2158529,10575617,2156994,2157058,2129923,2130019,2157122,2157186]),new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2185249,6291456,2185281,6291456,2185313,6291456,2185345,6291456,2185377,6291456,2185409,6291456,2185441,6291456,2185473,6291456]),new Uint32Array([0,0,0,0,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,6291456,0]),new Uint32Array([2183361,6291456,2183393,6291456,2183425,6291456,2183457,6291456,2183489,6291456,2183521,6291456,2183553,6291456,2183585,6291456]),new Uint32Array([2192161,2192193,2192225,2192257,2192289,2192321,2192353,2192385,2192417,2192449,2192481,2192513,2192545,2192577,2192609,2192641]),new Uint32Array([2212001,2212033,2212065,2212097,2212129,2212161,2212193,2212225,2212257,2212289,2212321,2212353,2212385,2212417,2212449,2207265]),new Uint32Array([2249825,2249857,2249889,2249921,2249954,2250018,2250082,2250145,2250177,2250209,2250241,2250274,2250337,2250370,2250433,2250465]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147905,2147969,2148033,2148097,2148161,2148225,2148289,2148353]),new Uint32Array([10485857,6291456,2197217,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2180353,2180385,2144033,2180417,2180449,2180481,2180513,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10610209,10610465,10610241,10610753,10609857]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),new Uint32Array([2223842,2223906,2223970,2224034,2224098,2224162,2224226,2224290,2224354,2224418,2224482,2224546,2224610,2224674,2224738,2224802]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([23068672,23068672,23068672,18923650,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,18923714,23068672,23068672]),new Uint32Array([2126179,2125538,2126275,2126371,2126467,2125634,2126563,2105603,2105604,2125346,2126659,2126755,2126851,2098179,2098181,2098182]),new Uint32Array([2227426,2227490,2227554,2227618,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2192353,2240642,2240642,2240705,2240737,2240737,2240769,2240802,2240866,2240929,2240961,2240993,2241025,2241057,2241089,2241121]),new Uint32Array([6291456,2170881,2170913,2170945,6291456,2170977,6291456,2171009,2171041,6291456,6291456,6291456,2171073,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2132226,2132514,2163586,2132610,2160386,2133090,2133186,2160450,2160514,2160578,2133570,2106178,2160642,2133858,2160706,2160770]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10532162,10532226,10532290,10532354,10532418,10532482,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),new Uint32Array([2098209,2108353,2108193,2108481,2170241,2111713,2105473,2105569,2105601,2112289,2112481,2098305,2108321,0,0,0]),new Uint32Array([2209121,2209153,2209185,2209217,2209249,2209281,2209313,2209345,2209377,2209409,2209441,2209473,2207265,2209505,2209537,2209569]),new Uint32Array([2189025,6291456,2189057,6291456,2189089,6291456,2189121,6291456,2189153,6291456,2189185,6291456,2189217,6291456,2189249,6291456]),new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2165764,2140004]),new Uint32Array([2215105,6291456,2215137,6291456,6291456,2215169,2215201,6291456,6291456,6291456,2215233,2215265,2215297,2215329,2215361,2215393]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,23068672,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([10505091,10505187,10505283,10505379,10505475,10505571,10505667,10505763,10505859,10505955,10506051,10506147,10506243,10506339,10506435,10506531]),new Uint32Array([2229730,2229794,2229858,2229922,2229986,2230050,2230114,2230178,2230242,2230306,2230370,2230434,2230498,2230562,2230626,2230690]),new Uint32Array([2105505,2098241,2108353,2108417,2105825,0,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),new Uint32Array([6291456,6291456,6291456,6291456,10502115,10502178,10502211,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),new Uint32Array([2190305,6291456,2190337,6291456,2190369,6291456,2190401,6291456,2190433,6291456,2190465,6291456,2190497,6291456,2190529,6291456]),new Uint32Array([2173793,2173985,2174017,6291456,2173761,2173697,6291456,2174689,6291456,2174017,2174721,6291456,6291456,2174753,2174785,2174817]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609,2100033]),new Uint32Array([2132898,2163842,2163906,2133282,2132034,2131938,2137410,2132802,2132706,2164866,2133282,2160578,2165186,2165186,6291456,6291456]),new Uint32Array([10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059,10501155,10501251,10501347,10501443]),new Uint32Array([2163458,2130978,2131074,2131266,2131362,2163522,2160130,2132066,2131010,2131106,2106018,2131618,2131298,2132034,2131938,2137410]),new Uint32Array([2212961,2116993,2212993,2213025,2213057,2213089,2213121,2213153,2213185,2213217,2213249,2209633,2213281,2213313,2213345,2213377]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2113729,2113825,2113921,2114017,2114113,2114209,2114305,2114401,2114497,2114593,2114689,2114785,2114881,2114977,2115073,2115169]),new Uint32Array([2238177,2238209,2238241,2238273,2238305,2238337,2238337,2217537,2238369,2238401,2238433,2238465,2215649,2238497,2238529,2238561]),new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0]),new Uint32Array([6291456,0,6291456,2145026,0,6291456,2145090,0,6291456,6291456,0,0,23068672,0,23068672,23068672]),new Uint32Array([2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129,2100289]),new Uint32Array([6291456,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0]),new Uint32Array([2187681,2187713,2187745,2187777,2187809,2187841,2187873,2187905,2187937,2187969,2188001,2188033,2188065,2188097,2188129,2188161]),new Uint32Array([0,10554498,10554562,10554626,10554690,10554754,10554818,10554882,10554946,10555010,10555074,6291456,6291456,0,0,0]),new Uint32Array([2235170,2235234,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0]),new Uint32Array([2181153,6291456,2188897,6291456,6291456,2188929,6291456,6291456,6291456,6291456,6291456,6291456,2111905,2100865,2188961,2188993]),new Uint32Array([2100833,2100897,0,0,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,2112289]),new Uint32Array([6291456,2172833,6291456,2172865,2172897,2172929,2172961,6291456,2172993,6291456,2173025,6291456,2173057,6291456,2173089,6291456]),new Uint32Array([6291456,0,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,2190721]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456]),new Uint32Array([2184993,6291456,2185025,6291456,2185057,6291456,2185089,6291456,2185121,6291456,2185153,6291456,2185185,6291456,2185217,6291456]),new Uint32Array([2115265,2115361,2115457,2115553,2115649,2115745,2115841,2115937,2116033,2116129,2116225,2116321,2150658,2150722,2200225,6291456]),new Uint32Array([2168321,6291456,2168353,6291456,2168385,6291456,2168417,6291456,2168449,6291456,2168481,6291456,2168513,6291456,2168545,6291456]),new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,0,6291456,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,2186625,0,0,6291456,6291456,2186657,2186689,2186721,2173505,0,10496067,10496163,10496259]),new Uint32Array([2178785,6291456,2178817,6291456,2178849,6291456,2178881,6291456,2178913,6291456,2178945,6291456,2178977,6291456,2179009,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),new Uint32Array([2097152,0,0,0,2097152,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,2197857,2197889,2197921,2197953,2197985,2198017,0,0,2198049,2198081,2198113,2198145,2198177,2198209]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2098209,2167297,2111137,6291456]),new Uint32Array([2171393,6291456,2171425,6291456,2171457,6291456,2171489,6291456,2171521,6291456,2171553,6291456,2171585,6291456,2171617,6291456]),new Uint32Array([2206753,2206785,2195457,2206817,2206849,2206881,2206913,2197153,2197153,2206945,2117857,2206977,2207009,2207041,2207073,2207105]),new Uint32Array([0,0,0,0,0,0,0,23068672,0,0,0,0,2144834,2144898,0,2144962]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672]),new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,0,2105505,2098241]),new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,2202049,6291456,2202081,6291456,2202113,6291456,2202145,6291456,2202177,6291456,2202209,6291456,2202241,6291456]),new Uint32Array([10501155,10501251,10501347,10501443,10501539,10501635,10501731,10501827,10501923,10502019,2141731,2105505,2098177,2155586,2166530,0]),new Uint32Array([2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441]),new Uint32Array([2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330,2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([10502307,10502403,10502499,10502595,10502691,10502787,10502883,10502979,10503075,10503171,10503267,10503363,10503459,10503555,10503651,10503747]),new Uint32Array([2179937,2179969,2180001,2180033,2156545,2180065,2156577,2180097,2180129,2180161,2180193,2180225,2180257,2180289,2156737,2180321]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,0,0,6291456,0,0,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),new Uint32Array([2227682,2227746,2227810,2227874,2227938,2228002,2228066,2228130,2228194,2228258,2228322,2228386,2228450,2228514,2228578,2228642]),new Uint32Array([2105601,2169121,2108193,2170049,2181025,2181057,2112481,2108321,2108289,2181089,2170497,2100865,2181121,2173601,2173633,2173665]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180641,6291456,6291456,6291456]),new Uint32Array([0,6291456,6291456,6291456,0,6291456,0,6291456,0,0,6291456,6291456,0,6291456,6291456,6291456]),new Uint32Array([2178273,6291456,2178305,6291456,2178337,6291456,2178369,6291456,2178401,6291456,2178433,6291456,2178465,6291456,2178497,6291456]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),new Uint32Array([2237377,2237409,2236225,2237441,2237473,2217441,2215521,2215553,2217473,2237505,2237537,2209697,2237569,2215585,2237601,2237633]),new Uint32Array([2221985,2165601,2165601,2165665,2165665,2222017,2222017,2165729,2165729,2158913,2158913,2158913,2158913,2097281,2097281,2105921]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2149634,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2176897,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2176929,6291456,2176961,6291456,2176993,6291456]),new Uint32Array([2172641,6291456,2172673,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2172705,2172737,6291456,2172769,2172801,6291456]),new Uint32Array([2099173,2104196,2121667,2099395,2121763,2152258,2152322,2098946,2152386,2121859,2121955,2099333,2122051,2104324,2099493,2122147]),new Uint32Array([6291456,6291456,6291456,2145794,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2145858,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,0,0,6291456,0]),new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,0,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2239074,2239138,2239201,2239233,2239265,2239297,2239329,2239361,0,2239393,2239425,2239425,2239458,2239521,2239553,2209569]),new Uint32Array([14680064,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,6291456,23068672]),new Uint32Array([2108321,2108289,2113153,2098209,2180897,2180929,2180961,2111137,2098241,2108353,2170241,2170273,2180993,2105825,6291456,2105473]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146114,6291456,6291456,6291456,0,0,0]),new Uint32Array([2105921,2105921,2105921,2222049,2222049,2130977,2130977,2130977,2130977,2160065,2160065,2160065,2160065,2097729,2097729,2097729]),new Uint32Array([2218145,2214785,2207937,2218177,2218209,2192993,2210113,2212769,2218241,2218273,2216129,2218305,2216161,2218337,2218369,2218401]),new Uint32Array([0,0,0,2156546,2156610,2156674,2156738,2156802,0,0,0,0,0,2156866,23068672,2156930]),new Uint32Array([23068672,23068672,23068672,0,0,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),new Uint32Array([2213409,2213441,2213473,2213505,2213537,2213569,2213601,2213633,2213665,2195681,2213697,2213729,2213761,2213793,2213825,2213857]),new Uint32Array([2100033,2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2201857,6291456,2201889,6291456,2201921,6291456,2201953,6291456,2201985,6291456,2202017,6291456,2176193,2176257,23068672,23068672]),new Uint32Array([6291456,6291456,23068672,23068672,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2188193,2188225,2188257,2188289,2188321,2188353,2188385,2188417,2188449,2188481,2188513,2188545,2188577,2188609,2188641,0]),new Uint32Array([10554529,2221089,0,10502113,10562017,10537921,10538049,2221121,2221153,0,0,0,0,0,0,0]),new Uint32Array([2213889,2213921,2213953,2213985,2214017,2214049,2214081,2194177,2214113,2214145,2214177,2214209,2214241,2214273,2214305,2214337]),new Uint32Array([2166978,2167042,2099169,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180545,6291456,6291456,6291456]),new Uint32Array([10518915,10519011,10519107,10519203,2162242,2162306,2159554,2162370,2159362,2159618,2105922,2162434,2159746,2162498,2159810,2159874]),new Uint32Array([2161730,2161794,2135586,2161858,2161922,2137186,2131810,2160290,2135170,2161986,2137954,2162050,2162114,2162178,10518723,10518819]),new Uint32Array([10506627,10506723,10506819,10506915,10507011,10507107,10507203,10507299,10507395,10507491,10507587,10507683,10507779,10507875,10507971,10508067]),new Uint32Array([6291456,23068672,23068672,23068672,0,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),new Uint32Array([2175873,2175905,2175937,2175969,2176001,2176033,2176065,2176097,2176129,2176161,2176193,2176225,2176257,2176289,2176321,2176353]),new Uint32Array([2140006,2140198,2140390,2140582,2140774,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,23068672,23068672,23068672]),new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241]),new Uint32Array([0,23068672,0,0,0,0,0,0,0,2145154,2145218,2145282,6291456,0,2145346,0]),new Uint32Array([0,0,0,0,10531458,10495395,2148545,2143201,2173473,2148865,2173505,0,2173537,0,2173569,2149121]),new Uint32Array([10537282,10495683,2148738,2148802,2148866,0,6291456,2148930,2186593,2173473,2148737,2148865,2148802,10495779,10495875,10495971]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2215425,2215457,2215489,2215521,2215553,2215585,2215617,2215649,2215681,2215713,2215745,2215777,2192033,2215809,2215841,2215873]),new Uint32Array([2242049,2242081,2242113,2242145,2242177,2242209,2242241,2242273,2215937,2242305,2242338,2242401,2242433,2242465,2242497,2216001]),new Uint32Array([10554529,2221089,0,0,10562017,10502113,10538049,10537921,2221185,10489601,10489697,10609889,10609921,2141729,2141793,10610273]),new Uint32Array([2141923,2142019,2142115,2142211,2142307,2142403,2142499,2142595,2142691,0,0,0,0,0,0,0]),new Uint32Array([0,2221185,2221217,10609857,10609857,10489601,10489697,10609889,10609921,2141729,2141793,2221345,2221377,2221409,2221441,2187105]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18923970,23068672,23068672,23068672,0,6291456,6291456]),new Uint32Array([2183105,6291456,2183137,6291456,2183169,6291456,2183201,6291456,2183233,6291456,2183265,6291456,2183297,6291456,2183329,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([2134434,2134818,2097666,2097186,2097474,2097698,2105986,2131586,2132450,2131874,2131778,2135970,2135778,2161602,2136162,2161666]),new Uint32Array([2236865,2236897,2236930,2236993,2237025,2235681,2237058,2237121,2237153,2237185,2237217,2217281,2237250,2191233,2237313,2237345]),new Uint32Array([2190049,6291456,2190081,6291456,2190113,6291456,2190145,6291456,2190177,6291456,2190209,6291456,2190241,6291456,2190273,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2101922,2102050,2102178,2102306,10498755,10498851,10498947,10499043,10499139,10499235,10499331,10499427,10499523,10489604,10489732,10489860]),new Uint32Array([2166914,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2181601,2170561,2181633,2181665,2170753,2181697,2172897,2170881,2181729,2170913,2172929,2113441,2181761,2181793,2171009,2173761]),new Uint32Array([0,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([2248001,2248033,2248066,2248130,2248193,2248226,2248289,2248322,2248385,2248417,2216673,2248450,2248514,2248577,2248610,2248673]),new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,0,0,0]),new Uint32Array([2169729,6291456,2169761,6291456,2169793,6291456,2169825,6291456,2169857,2169889,6291456,2169921,6291456,2143329,6291456,2098305]),new Uint32Array([2162178,2163202,2163266,2135170,2136226,2161986,2137954,2159426,2159490,2163330,2159554,2163394,2159682,2139522,2136450,2159746]),new Uint32Array([2173953,2173985,0,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2174209,2174241,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,4271169,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2174273]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,2190785,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2189793,6291456,2189825,6291456,2189857,6291456,2189889,6291456,2189921,6291456,2189953,6291456,2189985,6291456,2190017,6291456]),new Uint32Array([2105601,2112289,2108193,2112481,2112577,0,2098305,2108321,2108289,2100865,2113153,2108481,2113345,0,2098209,2111137]),new Uint32Array([2172129,6291456,2172161,6291456,2172193,6291456,2172225,6291456,2172257,6291456,2172289,6291456,2172321,6291456,2172353,6291456]),new Uint32Array([2214753,6291456,2214785,6291456,6291456,2214817,2214849,2214881,2214913,2214945,2214977,2215009,2215041,2215073,2194401,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([0,0,0,0,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([10610305,10610337,10575617,2221761,10610401,10610433,10502177,0,10610465,10610497,10610529,10610561,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,0,0,0,0,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2187105,2187137,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2199393,2199425,2199457,2199489,2199521,2199553,2199585,2199617,2199649,2199681,2199713,2199745,2199777,2199809,2199841,0]),new Uint32Array([2217249,2217281,2217313,2217345,2217377,2217409,2217441,2217473,2215617,2217505,2217537,2217569,2214753,2217601,2217633,2217665]),new Uint32Array([2170273,2170305,6291456,2170337,2170369,6291456,2170401,2170433,2170465,6291456,6291456,6291456,2170497,2170529,6291456,2170561]),new Uint32Array([2188673,6291456,2188705,2188737,2188769,6291456,6291456,2188801,6291456,2188833,6291456,2188865,6291456,2180929,2181505,2180897]),new Uint32Array([10489988,10490116,10490244,10490372,10490500,10490628,10490756,10490884,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147393,2147457,2147521,2147585,2147649,2147713,2147777,2147841]),new Uint32Array([23068672,23068672,0,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2241153,2241185,2241217,2215809,2241250,2241313,2241345,2241377,2217921,2241377,2241409,2215873,2241441,2241473,2241505,2241537]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2220417,2220417,2220449,2220449,2220481,2220481,2220513,2220513,2220545,2220545,2220577,2220577,2220609,2220609,2220641,2220641]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2144002,0,6291456,6291456,0,0,6291456,6291456,6291456]),new Uint32Array([2167105,2167137,2167169,2167201,2167233,2167265,2167297,2167329,2167361,2167393,2167425,2167457,2167489,2167521,2167553,2167585]),new Uint32Array([10575521,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),new Uint32Array([2234146,2234210,2234274,2234338,2234402,2234466,2234530,2234594,2234658,2234722,2234786,2234850,2234914,2234978,2235042,2235106]),new Uint32Array([0,0,0,0,0,0,0,2180577,0,0,0,0,0,2180609,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456]),new Uint32Array([2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2242529,2242561,2242593,2242625,2242657,2242689,2242721,2242753,2207937,2218177,2242785,2242817,2242849,2242882,2242945,2242977]),new Uint32Array([2118049,2105345,2118241,2105441,2118433,2118529,2118625,2118721,2118817,2200257,2200289,2191809,2200321,2200353,2200385,2200417]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([2185505,6291456,2185537,6291456,2185569,6291456,2185601,6291456,2185633,6291456,2185665,6291456,2185697,6291456,2185729,6291456]),new Uint32Array([2231970,2232034,2232098,2232162,2232226,2232290,2232354,2232418,2232482,2232546,2232610,2232674,2232738,2232802,2232866,2232930]),new Uint32Array([2218625,2246402,2246466,2246530,2246594,2246657,2246689,2246689,2218657,2219681,2246721,2246753,2246785,2246818,2246881,2208481]),new Uint32Array([2197025,2197057,2197089,2197121,2197153,2197185,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2219137,2216961,2219169,2219201,2219233,2219265,2219297,2217025,2215041,2219329,2217057,2219361,2217089,2219393,2197153,2219426]),new Uint32Array([23068672,23068672,23068672,0,0,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713]),new Uint32Array([2243522,2243585,2243617,2243649,2243681,2210113,2243713,2243746,2243810,2243874,2243937,2243970,2244033,2244065,2244097,2244129]),new Uint32Array([2178017,6291456,2178049,6291456,2178081,6291456,2178113,6291456,2178145,6291456,2178177,6291456,2178209,6291456,2178241,6291456]),new Uint32Array([10553858,2165314,10518722,6291456,10518818,0,10518914,2130690,10519010,2130786,10519106,2130882,10519202,2165378,10554050,2165506]),new Uint32Array([0,0,2135491,2135587,2135683,2135779,2135875,2135971,2135971,2136067,2136163,2136259,2136355,2136355,2136451,2136547]),new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2220033,2220033,2220065,2220065,2220065,2220065,2220097,2220097,2220097,2220097,2220129,2220129,2220129,2220129,2220161,2220161]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2100897,2100898,2100899,2150018,2100865,2100866,2100867,2100868,2150082,2108481,2109858,2109859,2105569,2105505,2098241,2105601]),new Uint32Array([2097217,2097505,2097505,2097505,2097505,2165570,2165570,2165634,2165634,2165698,2165698,2097858,2097858,0,0,2097152]),new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([10503843,10503939,10504035,10504131,10504227,10504323,10504419,10504515,10504611,10504707,10504803,10504899,10504995,10491140,10491268,0]),new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,2235297,2220769,2235329,2235361]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2222401,2222433,2222465,10531394,2222497,2222529,2222561,0,2222593,2222625,2222657,2222689,2222721,2222753,2222785,0]),new Uint32Array([2184481,6291456,2184513,6291456,2184545,6291456,2184577,6291456,2184609,6291456,2184641,6291456,2184673,6291456,2184705,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0]),new Uint32Array([2105570,2156034,2126947,2156098,2153666,2127043,2127139,2156162,0,2127235,2156226,2156290,2156354,2156418,2127331,2127427]),new Uint32Array([2215905,2207041,2153185,2241569,2241601,2241633,2241665,2241697,2241730,2241793,2241825,2241857,2241889,2241921,2241954,2242017]),new Uint32Array([2203777,6291456,2203809,6291456,2203841,6291456,2203873,6291456,2203905,6291456,2173121,2180993,2181249,2203937,2181313,0]),new Uint32Array([2168577,6291456,2168609,6291456,2168641,6291456,2168673,6291456,2168705,6291456,2168737,6291456,2168769,6291456,2168801,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,0,0]),new Uint32Array([2210113,2195521,2210145,2210177,2210209,2210241,2210273,2210305,2210337,2210369,2210401,2210433,2210465,2210497,2210529,2210561]),new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([2228706,2228770,2228834,2228898,2228962,2229026,2229090,2229154,2229218,2229282,2229346,2229410,2229474,2229538,2229602,2229666]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,18874368,18874368,18874368,0,0]),new Uint32Array([2133089,2133281,2133281,2133281,2133281,2160577,2160577,2160577,2160577,2097441,2097441,2097441,2097441,2133857,2133857,2133857]),new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089]),new Uint32Array([2178529,6291456,2178561,6291456,2178593,6291456,2178625,6291456,2178657,6291456,2178689,6291456,2178721,6291456,2178753,6291456]),new Uint32Array([2221025,2221025,2221057,2221057,2159329,2159329,2159329,2159329,2097217,2097217,2158914,2158914,2158978,2158978,2159042,2159042]),new Uint32Array([2208161,2208193,2208225,2208257,2194433,2208289,2208321,2208353,2208385,2208417,2208449,2208481,2208513,2208545,2208577,2208609]),new Uint32Array([2169217,6291456,2169249,6291456,2169281,6291456,2169313,6291456,2169345,6291456,2169377,6291456,2169409,6291456,2169441,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([2133187,2133283,2133283,2133379,2133475,2133571,2133667,2133667,2133763,2133859,2133955,2134051,2134147,2134147,2134243,2134339]),new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,0]),new Uint32Array([2193089,2193121,2193153,2193185,2117665,2117569,2193217,2193249,2193281,2193313,2193345,2193377,2193409,2193441,2193473,2193505]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2184225,6291456,2184257,6291456,2184289,6291456,2184321,6291456,2184353,6291456,2184385,6291456,2184417,6291456,2184449,6291456]),new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2100833,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2200801,2200833,2200865,0]),new Uint32Array([23068672,23068672,23068672,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2181153,2105505,2181185,2167617,2180993]),new Uint32Array([2160002,2160066,2160130,2160194,2160258,2132066,2131010,2131106,2106018,2131618,2160322,2131298,2132034,2131938,2137410,2132226]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,6291456]),new Uint32Array([2183617,6291456,2183649,6291456,2183681,6291456,2183713,6291456,2183745,6291456,2183777,6291456,2183809,6291456,2183841,6291456]),new Uint32Array([0,6291456,6291456,0,6291456,0,0,6291456,6291456,0,6291456,0,0,6291456,0,0]),new Uint32Array([2250977,2251009,2251041,2251073,2195009,2251106,2251169,2251201,2251233,2251265,2251297,2251330,2251394,2251457,2251489,2251521]),new Uint32Array([2205729,2205761,2205793,2205825,2205857,2205889,2205921,2205953,2205985,2206017,2206049,2206081,2206113,2206145,2206177,2206209]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2143170,2168993,6291456,2169025,6291456,2169057,6291456,2169089,6291456,2143234,2169121,6291456,2169153,6291456,2169185,6291456]),new Uint32Array([23068672,23068672,2190689,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2248706,2248769,2248801,2248833,2248865,2248897,2248929,2248962,2249026,2249090,2249154,2240705,2249217,2249249,2249281,2249313]),new Uint32Array([10485857,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10495394,6291456,2098209,6291456,6291456,2097152,6291456,10531394]),new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),new Uint32Array([6291456,2186977,6291456,6291456,6291456,6291456,6291456,10537858,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2209601,2209633,2209665,2209697,2209729,2209761,2209793,2209825,2209857,2209889,2209921,2209953,2209985,2210017,2210049,2210081]),new Uint32Array([10501539,10501635,10501731,10501827,10501923,10502019,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2194561,2194593,2194625,2119777,2119873,2194657,2194689,2194721,2194753,2194785,2194817,2194849,2194881,2194913,2194945,2194977]),new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569]),new Uint32Array([2222818,2222882,2222946,2223010,2223074,2223138,2223202,2223266,2223330,2223394,2223458,2223522,2223586,2223650,2223714,2223778]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672]),new Uint32Array([0,2179553,2179585,2179617,2179649,2144001,2179681,2179713,2179745,2179777,2179809,2156705,2179841,2156833,2179873,2179905]),new Uint32Array([6291456,23068672,6291456,2145602,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,6291456,0,0]),new Uint32Array([2196513,2196545,2196577,2196609,2196641,2196673,2196705,2196737,2196769,2196801,2196833,2196865,2196897,2196929,2196961,2196993]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2177281,6291456,2177313,6291456,2177345,6291456,2177377,6291456,2177409,6291456,2177441,6291456,2177473,6291456,2177505,6291456]),new Uint32Array([2187137,2221473,2221505,2221537,2221569,6291456,6291456,10610209,10610241,10537986,10537986,10537986,10537986,10609857,10609857,10609857]),new Uint32Array([2243009,2243041,2216033,2243074,2243137,2243169,2243201,2219617,2243233,2243265,2243297,2243329,2243362,2243425,2243457,2243489]),new Uint32Array([10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,2097152,4194304,4194304,0,0]),new Uint32Array([2143042,6291456,2143106,2143106,2168833,6291456,2168865,6291456,6291456,2168897,6291456,2168929,6291456,2168961,6291456,2143170]),new Uint32Array([6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2204193,2204225,2204257,2204289,2204321,2204353,2204385,2204417,2204449,2204481,2204513,2204545,2204577,2204609,2204641,2204673]),new Uint32Array([2202753,6291456,2202785,6291456,2202817,6291456,2202849,6291456,2202881,6291456,2202913,6291456,2202945,6291456,2202977,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321]),new Uint32Array([2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842,2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842]),new Uint32Array([2253313,2253346,2253409,2253441,2253473,2253505,2253537,2253569,2253601,2253634,2219393,2253697,2253729,2253761,2253793,2253825]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([2162562,2162626,2131362,2162690,2159938,2160002,2162754,2162818,2160130,2162882,2160194,2160258,2160834,2160898,2161026,2161090]),new Uint32Array([2175361,2175393,2175425,2175457,2175489,2175521,2175553,2175585,2175617,2175649,2175681,2175713,2175745,2175777,2175809,2175841]),new Uint32Array([2253858,2253921,2253954,2254018,2254082,2196737,2254145,2196865,2254177,2254209,2254241,2254273,2197025,2254306,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2202113,2204129,2188705,2204161]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953]),new Uint32Array([2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209]),new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,0,2108417,0,2111713,2100897,2111905]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0]),new Uint32Array([2175425,2175489,2175809,2175905,2175937,2175937,2176193,2176417,2180865,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,2143298,2143298,2143298,2143362,2143362,2143362,2143426,2143426,2143426,2171105,6291456,2171137]),new Uint32Array([2120162,2120258,2151618,2151682,2151746,2151810,2151874,2151938,2152002,2120035,2120131,2120227,2152066,2120323,2152130,2120419]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2195361,2142433,2236065,2236097,2236129,2236161,2118241,2117473,2236193,2236225,2236257,2236289,0,0,0,0]),new Uint32Array([2189281,6291456,2189313,6291456,2189345,6291456,2189377,6291456,2189409,6291456,2189441,6291456,2189473,6291456,2189505,6291456]),new Uint32Array([6291456,6291456,2145922,6291456,6291456,6291456,6291456,2145986,6291456,6291456,6291456,6291456,2146050,6291456,6291456,6291456]),new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10502113,10562017,10610401,10502177,10610433,10538049]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,2186401,0,2186433,0,2186465,0,2186497]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,23068672,23068672]),new Uint32Array([0,0,2198241,2198273,2198305,2198337,2198369,2198401,0,0,2198433,2198465,2198497,0,0,0]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,0,23068672,23068672,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,2133281,2097505,2105889,0,2097697,2135777,2097633,2097441]),new Uint32Array([2197889,2197921,2197953,2197985,2198017,2198049,2198081,2198113,2198145,2198177,2198209,2198241,2198273,2198305,2198337,2198369]),new Uint32Array([2132514,2132610,2160386,2133090,2133186,2160450,2160514,2133282,2160578,2133570,2106178,2160642,2133858,2160706,2160770,2134146]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,23068672,6291456,23068672,23068672,6291456,23068672,0,0,0,0,0,0,0,0]),new Uint32Array([2184737,6291456,2184769,6291456,2184801,6291456,2184833,6291456,2184865,6291456,2184897,6291456,2184929,6291456,2184961,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,2186753,6291456,6291456,6291456,6291456,2186785,2186817,2186849,2173569,2186881,10496355,10495395,10575521]),new Uint32Array([0,0,2097729,0,0,0,0,2106017,0,2097505,0,2097185,0,2135777,2097633,2097441]),new Uint32Array([2189537,6291456,2189569,6291456,2189601,6291456,2189633,6291456,2189665,6291456,2189697,6291456,2189729,6291456,2189761,6291456]),new Uint32Array([2202497,6291456,2202529,6291456,2202561,6291456,2202593,6291456,2202625,6291456,2202657,6291456,2202689,6291456,2202721,6291456]),new Uint32Array([2245217,2218369,2245249,2245282,2245345,2245377,2245410,2245474,2245537,2245569,2245601,2245633,2245665,2245665,2245697,2245729]),new Uint32Array([6291456,0,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,23068672,6291456,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2097281,2105921,2097729,2106081,2097377,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([2176641,6291456,2176673,6291456,2176705,6291456,2176737,6291456,2176769,6291456,2176801,6291456,2176833,6291456,2176865,6291456]),new Uint32Array([2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2174369,2174369,0,0,2100833,2100737]),new Uint32Array([2116513,2190817,2190849,2190881,2190913,2190945,2116609,2190977,2191009,2191041,2191073,2117185,2191105,2191137,2191169,2191201]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456]),new Uint32Array([0,0,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),new Uint32Array([2167617,2167649,2167681,2167713,2167745,2167777,2167809,6291456,2167841,2167873,2167905,2167937,2167969,2168001,2168033,4240130]),new Uint32Array([2165122,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122,2134562,2132162,2132834,2136866]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2186209,2186241,2186273,2186305,2186337,2186369,0,0]),new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([0,0,23068672,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),new Uint32Array([0,10537921,10610689,10610273,10610497,10610529,10610305,10610721,10489601,10489697,10610337,10575617,10554529,2221761,2197217,10496577]),new Uint32Array([2105473,2105569,2105601,2112289,0,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),new Uint32Array([2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481]),new Uint32Array([2125346,2153410,2153474,2127394,2153538,2153602,2153666,2153730,2105507,2105476,2153794,2153858,2153922,2153986,2154050,2105794]),new Uint32Array([2200449,2119681,2200481,2153313,2199873,2199905,2199937,2200513,2200545,2200577,2200609,2119105,2119201,2119297,2119393,2119489]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2175777,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2222273,2197217,2221473,2221505,2221089,2222305,2200865,2099681,2104481,2222337,2099905,2120737,2222369,2103713,2100225,2098785]),new Uint32Array([2201377,6291456,2201409,6291456,2201441,6291456,2201473,6291456,2201505,6291456,2201537,6291456,2201569,6291456,6291456,23068672]),new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),new Uint32Array([2200897,6291456,2200929,6291456,2200961,6291456,2200993,6291456,2201025,6291456,2180865,6291456,2201057,6291456,2201089,6291456]),new Uint32Array([0,0,0,0,0,23068672,23068672,0,6291456,6291456,6291456,0,0,0,0,0]),new Uint32Array([2161154,2161410,2138658,2161474,2161538,2097666,2097186,2097474,2162946,2132450,2163010,2163074,2136162,2163138,2161666,2161730]),new Uint32Array([2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953]),new Uint32Array([0,0,0,0,0,0,23068672,23068672,0,0,0,0,2145410,2145474,0,6291456]),new Uint32Array([2244161,2216065,2212769,2244193,2244225,2244257,2244290,2244353,2244385,2244417,2244449,2218273,2244481,2244514,2244577,2244609]),new Uint32Array([2125730,2125699,2125795,2125891,2125987,2154114,2154178,2154242,2154306,2154370,2154434,2154498,2126082,2126178,2126274,2126083]),new Uint32Array([2237665,2237697,2237697,2237697,2237730,2237793,2237825,2237857,2237890,2237953,2237985,2238017,2238049,2238081,2238113,2238145]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150146,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),new Uint32Array([2214369,2238593,2238625,2238657,2238689,2238721,2238753,2238785,2238817,2238850,2238913,2238945,2238977,2235457,2239009,2239041]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([2252066,2252130,2252193,2252225,2252257,2252290,2252353,2252385,2252417,2252449,2252481,2252513,2252545,2252578,2252641,2252673]),new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,2197857]),new Uint32Array([2224866,2224930,2224994,2225058,2225122,2225186,2225250,2225314,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2219490,2219554,2219617,2219649,2219681,2219714,2219778,2219842,2219905,2219937,0,0,0,0,0,0]),new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),new Uint32Array([2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665]),new Uint32Array([2220161,2220161,2220193,2220193,2220193,2220193,2220225,2220225,2220225,2220225,2220257,2220257,2220257,2220257,2220289,2220289]),new Uint32Array([2192673,2192705,2192737,2192769,2192801,2192833,2192865,2118049,2192897,2117473,2117761,2192929,2192961,2192993,2193025,2193057]),new Uint32Array([2179297,6291456,2179329,6291456,2179361,6291456,2179393,6291456,2179425,6291456,2179457,6291456,2179489,6291456,2179521,6291456]),new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2235745,2235777,2193633,2235809,2235841,2235873,2235905,2235937,2235969,2116513,2116705,2236001,2200513,2199905,2200545,2236033]),new Uint32Array([2113153,2108481,2113345,2113441,2232993,2233025,0,0,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761]),new Uint32Array([2170593,6291456,2170625,6291456,2170657,6291456,2170689,2170721,6291456,2170753,6291456,6291456,2170785,6291456,2170817,2170849]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2166786,2166850,0,0,0,0]),new Uint32Array([23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,0]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2134562,2132162,2132834,2136866,2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058]),new Uint32Array([6291456,6291456,2098337,2101441,10531458,2153473,6291456,6291456,10531522,2100737,2108193,6291456,2106499,2106595,2106691,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0]),new Uint32Array([2233122,2233186,2233250,2233314,2233378,2233442,2233506,2233570,2233634,2233698,2233762,2233826,2233890,2233954,2234018,2234082]),new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2205217,2205249,2205281,2205313,2205345,2205377,2205409,2205441,2205473,2205505,2205537,2205569,2205601,2205633,2205665,2205697]),new Uint32Array([6291456,0,6291456,0,0,0,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),new Uint32Array([2173601,2173761,2174081,2173569,2174241,2174113,2173953,6291456,2174305,6291456,2174337,6291456,2174369,6291456,2174401,6291456]),new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2152450,2152514,2099653,2104452,2099813,2122243,2099973,2152578,2122339,2122435,2122531,2122627,2122723,2104580,2122819,2152642]),new Uint32Array([2236385,2236417,2236449,2236482,2236545,2215425,2236577,2236609,2236641,2236673,2215457,2236705,2236737,2236770,2215489,2236833]),new Uint32Array([2163394,2159746,2163458,2131362,2163522,2160130,2163778,2132226,2163842,2132898,2163906,2161410,2138658,2097666,2136162,2163650]),new Uint32Array([2218721,2246913,2246946,2216385,2247010,2247074,2215009,2247137,2247169,2216481,2247201,2247233,2247266,2247330,2247330,0]),new Uint32Array([2129730,2129762,2129858,2129731,2129827,2156482,2156482,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0,0,0,0,6291456,0,0]),new Uint32Array([2203969,2204001,2181377,2204033,2204065,6291456,2204097,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([2169473,6291456,2169505,6291456,2169537,6291456,2169569,6291456,2169601,6291456,2169633,6291456,2169665,6291456,2169697,6291456]),new Uint32Array([2141542,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2220801,2220801,2220801,2220801,2220833,2220833,2220865,2220865,2220865,2220865,2220897,2220897,2220897,2220897,2139873,2139873]),new Uint32Array([0,0,0,0,0,23068672,23068672,0,0,0,0,0,0,0,6291456,0]),new Uint32Array([2214849,2218433,2218465,2218497,2218529,2218561,2214881,2218593,2218625,2218657,2218689,2218721,2218753,2216545,2218785,2218817]),new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,6291456]),new Uint32Array([2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058,2165122,2132802,2132706,2164866]),new Uint32Array([2207649,2207681,2207713,2207745,2207777,2207809,2207841,2207873,2207905,2207937,2207969,2208001,2208033,2208065,2208097,2208129]),new Uint32Array([2123683,2105092,2152706,2123779,2105220,2152770,2100453,2098755,2123906,2124002,2124098,2124194,2124290,2124386,2124482,2124578]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,0,0,0,0,0,0,0,10485857]),new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([10508163,10508259,10508355,10508451,2200129,2200161,2192737,2200193,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2203553,6291456,2203585,6291456,6291456,6291456,2203617,6291456,2203649,6291456,2203681,6291456,2203713,6291456,2203745,6291456]),new Uint32Array([18884449,18884065,23068672,18884417,18884034,18921185,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18874368]),new Uint32Array([2247393,2247426,2247489,2247521,2247553,2247586,2247649,2247681,2247713,2247745,2247777,2247810,2247873,2247905,2247937,2247969]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,2160577,2133857,2235297,0,2235329,0]),new Uint32Array([2182593,6291456,2182625,6291456,2182657,6291456,2182689,6291456,2182721,6291456,2182753,6291456,2182785,6291456,2182817,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102402,2102403,6291456,2110050]),new Uint32Array([2149890,2108323,2149954,6291456,2113441,6291456,2149057,6291456,2113441,6291456,2105473,2167265,2111137,2105505,6291456,2108353]),new Uint32Array([2219105,2219137,2195233,2251554,2251617,2251649,2251681,2251713,2251746,2251810,2251873,2251905,2251937,2251970,2252033,2219169]),new Uint32Array([2203009,6291456,2203041,6291456,2203073,6291456,2203105,6291456,2203137,6291456,2203169,6291456,2203201,6291456,2203233,6291456]),new Uint32Array([2128195,2128291,2128387,2128483,2128579,2128675,2128771,2128867,2128963,2129059,2129155,2129251,2129347,2129443,2129539,2129635]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2140964,2141156,2140966,2141158,2141350]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2225378,2225442,2225506,2225570,2225634,2225698,2225762,2225826,2225890,2225954,2226018,2226082,2226146,2226210,2226274,2226338]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417]),new Uint32Array([2108353,2108417,0,2105601,2108193,2157121,2157313,2157377,2157441,2100897,6291456,2108419,2173953,2173633,2173633,2173953]),new Uint32Array([2111713,2173121,2111905,2098177,2173153,2173185,2173217,2113153,2113345,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2190753]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,2197249,6291456,2117377,2197281,2197313,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,6291456,6291456,6291456]),new Uint32Array([2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),new Uint32Array([0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,23068672]),new Uint32Array([2173281,6291456,2173313,6291456,2173345,6291456,2173377,6291456,0,0,10532546,6291456,6291456,6291456,10562017,2173441]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),new Uint32Array([23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2159426,2159490,2159554,2159362,2159618,2159682,2139522,2136450,2159746,2159810,2159874,2130978,2131074,2131266,2131362,2159938]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2203233,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2203265,6291456,2203297,6291456,2203329,2203361,6291456]),new Uint32Array([6291456,6291456,2148418,2148482,2148546,0,6291456,2148610,2186529,2186561,2148417,2148545,2148482,10495778,2143969,10495778]),new Uint32Array([2134146,2139426,2160962,2134242,2161218,2161282,2161346,2161410,2138658,2134722,2134434,2134818,2097666,2097346,2097698,2105986]),new Uint32Array([2198881,2198913,2198945,2198977,2199009,2199041,2199073,2199105,2199137,2199169,2199201,2199233,2199265,2199297,2199329,2199361]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([10610561,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),new Uint32Array([2183873,6291456,2183905,6291456,2183937,6291456,2183969,6291456,2184001,6291456,2184033,6291456,2184065,6291456,2184097,6291456]),new Uint32Array([2244642,2244706,2244769,2244801,2218305,2244833,2244865,2244897,2244929,2244961,2244993,2245026,2245089,2245122,2245185,0]),new Uint32Array([6291456,6291456,2116513,2116609,2116705,2116801,2199873,2199905,2199937,2199969,2190913,2200001,2200033,2200065,2200097,2191009]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2180673,2180705,2180737,2180769,2180801,2180833,0,0]),new Uint32Array([2098081,2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150402]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,2145666,2145730,6291456,6291456]),new Uint32Array([2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665]),new Uint32Array([2187073,6291456,6291456,6291456,6291456,2098241,2098241,2108353,2100897,2111905,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102404,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2100612,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10485857]),new Uint32Array([2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),new Uint32Array([2217697,2217729,2217761,2217793,2217825,2217857,2217889,2217921,2217953,2215873,2217985,2215905,2218017,2218049,2218081,2218113]),new Uint32Array([2211233,2218849,2216673,2218881,2218913,2218945,2218977,2219009,2216833,2219041,2215137,2219073,2216865,2209505,2219105,2216897]),new Uint32Array([2240097,2240129,2240161,2240193,2240225,2240257,2240289,2240321,2240353,2240386,2240449,2240481,2240513,2240545,2207905,2240578]),new Uint32Array([6291456,6291456,2202273,6291456,2202305,6291456,2202337,6291456,2202369,6291456,2202401,6291456,2202433,6291456,2202465,6291456]),new Uint32Array([0,23068672,23068672,18923394,23068672,18923458,18923522,18884099,18923586,18884195,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2201121,6291456,2201153,6291456,2201185,6291456,2201217,6291456,2201249,6291456,2201281,6291456,2201313,6291456,2201345,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),new Uint32Array([2211041,2211073,2211105,2211137,2211169,2211201,2211233,2211265,2211297,2211329,2211361,2211393,2211425,2211457,2211489,2211521]),new Uint32Array([2181825,6291456,2181857,6291456,2181889,6291456,2181921,6291456,2181953,6291456,2181985,6291456,2182017,6291456,2182049,6291456]),new Uint32Array([2162337,2097633,2097633,2097633,2097633,2132705,2132705,2132705,2132705,2097153,2097153,2097153,2097153,2133089,2133089,2133089]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,2148545,6291456,2173473,6291456,2148865,6291456,2173505,6291456,2173537,6291456,2173569,6291456,2149121,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2207137,2207169,2207201,2207233,2207265,2207297,2207329,2207361,2207393,2207425,2207457,2207489,2207521,2207553,2207585,2207617]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,23068672,23068672,0,0,0,0,0,0]),new Uint32Array([2198401,2198433,2198465,2198497,0,2198529,2198561,2198593,2198625,2198657,2198689,2198721,2198753,2198785,2198817,2198849]),new Uint32Array([2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),new Uint32Array([2216385,2118721,2216417,2216449,2216481,2216513,2216545,2211233,2216577,2216609,2216641,2216673,2216705,2216737,2216737,2216769]),new Uint32Array([2216801,2216833,2216865,2216897,2216929,2216961,2216993,2215169,2217025,2217057,2217089,2217121,2217154,2217217,0,0]),new Uint32Array([2210593,2191809,2210625,2210657,2210689,2210721,2210753,2210785,2210817,2210849,2191297,2210881,2210913,2210945,2210977,2211009]),new Uint32Array([0,0,2105825,0,0,2111905,2105473,0,0,2112289,2108193,2112481,2112577,0,2098305,2108321]),new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,2097153,2134241,0,2132705,0,0,2131297,0,2133089,0,2133857,0,2220769,0,2235361]),new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,6291456,6291456,14680064]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([2171873,6291456,2171905,6291456,2171937,6291456,2171969,6291456,2172001,6291456,2172033,6291456,2172065,6291456,2172097,6291456]),new Uint32Array([2220929,2220929,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2133857,2134145,2134145,2134145,2134145,2134241,2134241,2134241,2134241,2105889,2105889,2105889,2105889,2097185,2097185,2097185]),new Uint32Array([2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,10499619,10499715,10499811,10499907]),new Uint32Array([0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2144322,2144386,2144450,2144514,2144578,2144642,2144706,2144770]),new Uint32Array([23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456]),new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0,0,2111905,2105473,2105569]),new Uint32Array([2236321,2236353,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2152194,2121283,2103684,2103812,2097986,2098533,2097990,2098693,2098595,2098853,2099013,2103940,2121379,2121475,2121571,2104068]),new Uint32Array([2206241,2206273,2206305,2206337,2206369,2206401,2206433,2206465,2206497,2206529,2206561,2206593,2206625,2206657,2206689,2206721]),new Uint32Array([6291456,6291456,6291456,6291456,16777216,16777216,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,10538818,10538882,6291456,6291456,2150338]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2214369,2214401,2214433,2214465,2214497,2214529,2214561,2214593,2194977,2214625,2195073,2214657,2214689,2214721,6291456,6291456]),new Uint32Array([2097152,2097152,2097152,2097152,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2182081,6291456,2182113,6291456,2182145,6291456,2182177,6291456,2182209,6291456,2182241,6291456,2182273,6291456,2182305,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146881,2146945,2147009,2147073,2147137,2147201,2147265,2147329]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672]),new Uint32Array([0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2122915,2123011,2123107,2104708,2123203,2123299,2123395,2100133,2104836,2100290,2100293,2104962,2104964,2098052,2123491,2123587]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([6291456,2171169,6291456,2171201,6291456,2171233,6291456,2171265,6291456,2171297,6291456,2171329,6291456,6291456,2171361,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,2148994,2149058,2149122,0,6291456,2149186,2186945,2173537,2148993,2149121,2149058,10531458,10496066,0]),new Uint32Array([2195009,2195041,2195073,2195105,2195137,2195169,2195201,2195233,2195265,2195297,2195329,2195361,2195393,2195425,2195457,2195489]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,0,0,6291456,6291456]),new Uint32Array([2182849,6291456,2182881,6291456,2182913,6291456,2182945,6291456,2182977,6291456,2183009,6291456,2183041,6291456,2183073,6291456]),new Uint32Array([2211553,2210081,2211585,2211617,2211649,2211681,2211713,2211745,2211777,2211809,2209569,2211841,2211873,2211905,2211937,2211969]),new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2166594,2127298,2166658,2142978,2141827,2166722]),new Uint32Array([2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2185761,2185793,2185825,2185857,2185889,2185921,0,0]),new Uint32Array([6291456,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456]),new Uint32Array([0,0,0,2220961,2220961,2220961,2220961,2144193,2144193,2159201,2159201,2159265,2159265,2144194,2220993,2220993]),new Uint32Array([2192641,2235393,2235425,2152257,2116609,2235457,2235489,2200065,2235521,2235553,2235585,2212449,2235617,2235649,2235681,2235713]),new Uint32Array([2194049,2194081,2194113,2194145,2194177,2194209,2194241,2194273,2194305,2194337,2194369,2194401,2194433,2194465,2194497,2194529]),new Uint32Array([2196673,2208641,2208673,2208705,2208737,2208769,2208801,2208833,2208865,2208897,2208929,2208961,2208993,2209025,2209057,2209089]),new Uint32Array([2191681,2191713,2191745,2191777,2153281,2191809,2191841,2191873,2191905,2191937,2191969,2192001,2192033,2192065,2192097,2192129]),new Uint32Array([2230946,2231010,2231074,2231138,2231202,2231266,2231330,2231394,2231458,2231522,2231586,2231650,2231714,2231778,2231842,2231906]),new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2185953,2185985,2186017,2186049,2186081,2186113,2186145,2186177]),new Uint32Array([2139811,2139907,2097284,2105860,2105988,2106116,2106244,2097444,2097604,2097155,10485778,10486344,2106372,6291456,0,0]),new Uint32Array([2110051,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2172385,6291456,2172417,6291456,2172449,6291456,2172481,6291456,2172513,6291456,2172545,6291456,2172577,6291456,2172609,6291456]),new Uint32Array([0,0,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2249345,2249377,2249409,2249441,2249473,2249505,2249537,2249570,2210209,2249633,2249665,2249697,2249729,2249761,2249793,2216769]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([2187169,2187201,2187233,2187265,2187297,2187329,2187361,2187393,2187425,2187457,2187489,2187521,2187553,2187585,2187617,2187649]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,0,6291456,6291456,0,0,0,6291456,6291456,6291456,0,0,0,6291456,6291456]),new Uint32Array([2182337,6291456,2182369,6291456,2182401,6291456,2182433,6291456,2182465,6291456,2182497,6291456,2182529,6291456,2182561,6291456]),new Uint32Array([2138179,2138275,2138371,2138467,2134243,2134435,2138563,2138659,2138755,2138851,2138947,2139043,2138947,2138755,2139139,2139235]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([0,0,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2250498,2250562,2250625,2250657,2208321,2250689,2250721,2250753,2250785,2250817,2250849,2218945,2250881,2250913,2250945,0]),new Uint32Array([2170369,2105569,2098305,2108481,2173249,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),new Uint32Array([2100897,2111905,2105473,2105569,2105601,0,2108193,0,0,0,2098305,2108321,2108289,2100865,2113153,2108481]),new Uint32Array([2100897,2100897,2105569,2105569,6291456,2112289,2149826,6291456,6291456,2112481,2112577,2098177,2098177,2098177,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456,6291456]),new Uint32Array([6291456,2169953,2169985,6291456,2170017,6291456,2170049,2170081,6291456,2170113,2170145,2170177,6291456,6291456,2170209,2170241]),new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2220641,2220641,2220673,2220673,2220673,2220673,2220705,2220705,2220705,2220705,2220737,2220737,2220737,2220737,2220769,2220769]),new Uint32Array([2127650,2127746,2127842,2127938,2128034,2128130,2128226,2128322,2128418,2127523,2127619,2127715,2127811,2127907,2128003,2128099]),new Uint32Array([2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177]),new Uint32Array([0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2204705,2204737,2204769,2204801,2204833,2204865,2204897,2204929,2204961,2204993,2205025,2205057,2205089,2205121,2205153,2205185]),new Uint32Array([2176385,6291456,2176417,6291456,2176449,6291456,2176481,6291456,2176513,6291456,2176545,6291456,2176577,6291456,2176609,6291456]),new Uint32Array([2195521,2195553,2195585,2195617,2195649,2195681,2117857,2195713,2195745,2195777,2195809,2195841,2195873,2195905,2195937,2195969]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456]),new Uint32Array([2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113]),new Uint32Array([2131586,2132450,2135970,2135778,2161602,2136162,2163650,2161794,2135586,2163714,2137186,2131810,2160290,2135170,2097506,2159554]),new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,0,0,0,0]),new Uint32Array([2116513,2116609,2116705,2116801,2116897,2116993,2117089,2117185,2117281,2117377,2117473,2117569,2117665,2117761,2117857,2117953]),new Uint32Array([2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100802,2101154,2101282,2101410,2101538,2101666,2101794]),new Uint32Array([2100289,2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2098977,2150241,2150305]),new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,2109955,6291456,6291456,0,0,0,0]),new Uint32Array([18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,0,0]),new Uint32Array([2130979,2131075,2131075,2131171,2131267,2131363,2131459,2131555,2131651,2131651,2131747,2131843,2131939,2132035,2132131,2132227]),new Uint32Array([0,2177793,6291456,2177825,6291456,2177857,6291456,2177889,6291456,2177921,6291456,2177953,6291456,2177985,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2113345,0,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),new Uint32Array([2136643,2136739,2136835,2136931,2137027,2137123,2137219,2137315,2137411,2137507,2137603,2137699,2137795,2137891,2137987,2138083]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([2174433,6291456,2174465,6291456,2174497,6291456,2174529,6291456,2174561,6291456,2174593,6291456,2174625,6291456,2174657,6291456]),new Uint32Array([0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),new Uint32Array([10496547,10496643,2105505,2149698,6291456,10496739,10496835,2170273,6291456,2149762,2105825,2111713,2111713,2111713,2111713,2168673]),new Uint32Array([6291456,2143490,2143490,2143490,2171649,6291456,2171681,2171713,2171745,6291456,2171777,6291456,2171809,6291456,2171841,6291456]),new Uint32Array([2159106,2159106,2159170,2159170,2159234,2159234,2159298,2159298,2159298,2159362,2159362,2159362,2106401,2106401,2106401,2106401]),new Uint32Array([2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137]),new Uint32Array([2108417,2181217,2181249,2181281,2170433,2170401,2181313,2181345,2181377,2181409,2181441,2181473,2181505,2181537,2170529,2181569]),new Uint32Array([2218433,2245761,2245793,2245825,2245857,2245890,2245953,2245986,2209665,2246050,2246113,2246146,2246210,2246274,2246337,2246369]),new Uint32Array([2230754,2230818,2230882,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2184129,6291456,2184161,6291456,2184193,6291456,6291456,6291456,6291456,6291456,2146818,2183361,6291456,6291456,2142978,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2135170,2097506,2130691,2130787,2130883,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122]),new Uint32Array([2108515,2108611,2100740,2108707,2108803,2108899,2108995,2109091,2109187,2109283,2109379,2109475,2109571,2109667,2109763,2100738]),new Uint32Array([2102788,2102916,2103044,2120515,2103172,2120611,2120707,2098373,2103300,2120803,2120899,2120995,2103428,2103556,2121091,2121187]),new Uint32Array([2158082,2158146,0,2158210,2158274,0,2158338,2158402,2158466,2129922,2158530,2158594,2158658,2158722,2158786,2158850]),new Uint32Array([10499619,10499715,10499811,10499907,10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059]),new Uint32Array([2239585,2239618,2239681,2239713,0,2191969,2239745,2239777,2192033,2239809,2239841,2239874,2239937,2239970,2240033,2240065]),new Uint32Array([2252705,2252738,2252801,2252833,2252865,2252897,2252930,2252994,2253057,2253089,2253121,2253154,2253217,2253250,2219361,2219361]),new Uint32Array([2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,10538050,10538114,10538178,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2226402,2226466,2226530,2226594,2226658,2226722,2226786,2226850,2226914,2226978,2227042,2227106,2227170,2227234,2227298,2227362]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,2144066,2144130,2144194,2144258,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([2124674,2124770,2123875,2123971,2124067,2124163,2124259,2124355,2124451,2124547,2124643,2124739,2124835,2124931,2125027,2125123]),new Uint32Array([2168065,6291456,2168097,6291456,2168129,6291456,2168161,6291456,2168193,6291456,2168225,6291456,2168257,6291456,2168289,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,2100610,2100611,6291456,2107842,2107843,6291456,6291456,6291456,6291456,10537922,6291456,10537986,6291456]),new Uint32Array([2174849,2174881,2174913,2174945,2174977,2175009,2175041,2175073,2175105,2175137,2175169,2175201,2175233,2175265,2175297,2175329]),new Uint32Array([2154562,2154626,2154690,2154754,2141858,2154818,2154882,2127298,2154946,2127298,2155010,2155074,2155138,2155202,2155266,2155202]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0]),new Uint32Array([2200641,2150786,2150850,2150914,2150978,2151042,2106562,2151106,2150562,2151170,2151234,2151298,2151362,2151426,2151490,2151554]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456]),new Uint32Array([2220289,2220289,2220321,2220321,2220321,2220321,2220353,2220353,2220353,2220353,2220385,2220385,2220385,2220385,2220417,2220417]),new Uint32Array([2155330,2155394,0,2155458,2155522,2155586,2105732,0,2155650,2155714,2155778,2125314,2155842,2155906,2126274,2155970]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0]),new Uint32Array([2097729,2106017,2106017,2106017,2106017,2131297,2131297,2131297,2131297,2106081,2106081,2162049,2162049,2105953,2105953,2162337]),new Uint32Array([2097185,2097697,2097697,2097697,2097697,2135777,2135777,2135777,2135777,2097377,2097377,2097377,2097377,2097601,2097601,2097217]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),new Uint32Array([2139331,2139427,2139523,2139043,2133571,2132611,2139619,2139715,0,0,0,0,0,0,0,0]),new Uint32Array([2174113,2174145,2100897,2098177,2108289,2100865,2173601,2173633,2173985,2174113,2174145,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,23068672,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,18923778,23068672,23068672,23068672,23068672,18923842,23068672,23068672,23068672,23068672,18923906,23068672,23068672,23068672]),new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,0,2133857,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2177537,6291456,2177569,6291456,2177601,6291456,2177633,6291456,2177665,6291456,2177697,6291456,2177729,6291456,2177761,6291456]),new Uint32Array([2212481,2212513,2212545,2212577,2197121,2212609,2212641,2212673,2212705,2212737,2212769,2212801,2212833,2212865,2212897,2212929]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2098241,2108353,2170209,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,6291456,2108193,2172417,2112481,2098177]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456])],e=new Uint16Array([616,616,565,147,161,411,330,2,131,131,328,454,241,408,86,86,696,113,285,350,325,301,473,214,639,232,447,64,369,598,124,672,567,223,621,154,107,86,86,86,86,86,86,505,86,68,634,86,218,218,218,218,486,218,218,513,188,608,216,86,217,463,668,85,700,360,184,86,86,86,647,402,153,10,346,718,662,260,145,298,117,1,443,342,138,54,563,86,240,572,218,70,387,86,118,460,641,602,86,86,306,218,86,692,86,86,86,86,86,162,707,86,458,26,86,218,638,86,86,86,86,86,65,449,86,86,306,183,86,58,391,667,86,157,131,131,131,131,86,433,131,406,31,218,247,86,86,693,218,581,351,86,438,295,69,462,45,126,173,650,14,295,69,97,168,187,641,78,523,390,69,108,287,664,173,219,83,295,69,108,431,426,173,694,412,115,628,52,257,398,641,118,501,121,69,579,151,423,173,620,464,121,69,382,151,476,173,27,53,121,86,594,578,226,173,86,632,130,86,96,228,268,641,622,563,86,86,21,148,650,131,131,321,43,144,343,381,531,131,131,178,20,86,399,156,375,164,541,30,60,715,198,92,118,131,131,86,86,306,407,86,280,457,196,488,358,131,131,244,86,86,143,86,86,86,86,86,667,563,86,86,86,86,86,86,86,86,86,86,86,86,86,336,363,86,86,336,86,86,380,678,67,86,86,86,678,86,86,86,512,86,307,86,708,86,86,86,86,86,528,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,563,307,86,86,86,86,86,104,450,337,86,720,86,32,450,397,86,86,86,587,218,558,708,708,293,708,86,86,86,86,86,694,205,86,8,86,86,86,86,549,86,667,697,697,679,86,458,460,86,86,650,86,708,543,86,86,86,245,86,86,86,140,218,127,708,708,458,197,131,131,131,131,500,86,86,483,251,86,306,510,515,86,722,86,86,86,65,201,86,86,483,580,470,86,86,86,368,131,131,131,694,114,110,555,86,86,123,721,163,142,713,418,86,317,675,209,218,218,218,371,545,592,629,490,603,199,46,320,525,680,310,279,388,111,42,252,593,607,235,617,410,377,50,548,135,356,17,520,189,116,392,600,349,332,482,699,690,535,119,106,451,71,152,667,131,218,218,265,671,637,492,504,533,683,269,269,658,86,86,86,86,86,86,86,86,86,491,619,86,86,6,86,86,86,86,86,86,86,86,86,86,86,229,86,86,86,86,86,86,86,86,86,86,86,86,667,86,86,171,131,118,131,656,206,234,571,89,334,670,246,311,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,534,86,86,86,86,86,86,82,86,86,86,86,86,430,86,86,86,86,86,86,86,86,86,599,86,324,86,470,69,640,264,131,626,101,174,86,86,667,233,105,73,374,394,221,204,84,28,326,86,86,471,86,86,86,109,573,86,171,200,200,200,200,218,218,86,86,86,86,460,131,131,131,86,506,86,86,86,86,86,220,404,34,614,47,442,305,25,612,338,601,648,7,344,255,131,131,51,86,312,507,563,86,86,86,86,588,86,86,86,86,86,530,511,86,458,3,435,384,556,522,230,527,86,118,86,86,717,86,137,273,79,181,484,23,93,112,655,249,417,703,370,87,98,313,684,585,155,465,596,481,695,18,416,428,61,701,706,282,643,495,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,307,86,86,86,171,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,650,131,422,542,420,263,24,172,86,86,86,86,86,566,86,86,132,540,395,353,494,519,19,485,284,472,131,131,131,16,714,86,211,708,86,86,86,694,698,86,86,483,704,708,218,272,86,86,120,86,159,478,86,307,247,86,86,663,597,459,627,667,86,86,277,455,39,302,86,250,86,86,86,271,99,452,306,281,329,400,200,86,86,362,549,352,646,461,323,586,86,86,4,708,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,717,86,518,86,86,650,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,125,554,480,300,613,72,333,288,561,544,604,48,719,91,169,176,590,224,76,191,29,559,560,231,537,166,477,538,256,437,131,131,469,167,40,0,685,266,441,705,239,642,475,568,640,610,299,673,517,318,385,22,202,180,179,359,424,215,90,66,521,653,467,682,453,409,479,88,131,661,35,303,15,262,666,630,712,131,131,618,659,175,218,195,347,193,227,261,150,165,709,546,294,569,710,270,413,376,524,55,242,38,419,529,170,657,3,304,122,379,278,131,651,86,67,576,458,458,131,131,86,86,86,86,86,86,86,118,309,86,86,547,86,86,86,86,667,650,664,131,131,86,86,56,131,131,131,131,131,131,131,131,86,307,86,86,86,664,238,650,86,86,717,86,118,86,86,315,86,59,86,86,574,549,131,131,340,57,436,86,86,86,86,86,86,458,708,499,691,62,86,650,86,86,694,86,86,86,319,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,86,549,694,131,131,131,131,131,131,131,131,131,77,86,86,139,86,502,86,86,86,667,595,131,131,131,86,12,86,13,86,609,131,131,131,131,86,86,86,625,86,669,86,86,182,129,86,5,694,104,86,86,86,86,131,131,86,86,386,171,86,86,86,345,86,324,86,589,86,213,36,131,131,131,131,131,86,86,86,86,104,131,131,131,141,290,80,677,86,86,86,267,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,667,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,515,86,86,33,136,669,86,711,515,86,86,550,640,86,104,708,515,86,159,372,717,86,86,444,515,86,86,663,37,86,563,460,86,390,624,702,131,131,131,131,389,59,708,86,86,341,208,708,635,295,69,108,431,508,100,190,131,131,131,131,131,131,131,131,86,86,86,649,516,660,131,131,86,86,86,218,631,708,131,131,131,131,131,131,131,131,131,131,86,86,341,575,238,514,131,131,86,86,86,218,291,708,307,131,86,86,306,367,708,131,131,131,86,378,697,86,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,615,253,86,86,86,292,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,104,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,69,86,341,553,549,86,307,86,86,645,275,455,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,708,131,131,131,131,131,131,86,86,86,86,86,86,667,460,86,86,86,86,86,86,86,86,86,86,86,86,717,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,667,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,104,86,667,459,131,131,131,131,131,131,86,458,225,86,86,86,516,549,11,390,405,86,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,460,44,218,197,711,515,131,131,131,131,664,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,307,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,308,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,118,307,104,286,591,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,86,86,681,86,86,75,185,314,582,86,358,496,474,86,104,131,86,86,86,86,146,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,171,86,640,131,131,131,131,131,131,131,131,246,503,689,339,674,81,258,415,439,128,562,366,414,246,503,689,583,222,557,316,636,665,186,355,95,670,246,503,689,339,674,557,258,415,439,186,355,95,670,246,503,689,446,644,536,652,331,532,335,440,274,421,297,570,74,425,364,425,606,552,403,509,134,365,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,218,218,218,498,218,218,577,627,551,497,572,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,553,354,236,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,296,455,131,131,456,243,103,86,41,459,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,9,276,158,716,393,564,383,489,401,654,210,654,131,131,131,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,650,86,86,86,86,86,86,717,667,563,563,563,86,549,102,686,133,246,605,86,448,86,86,207,307,131,131,131,641,86,177,611,445,373,194,584,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,308,307,171,86,86,86,86,86,86,86,717,86,86,86,86,86,460,131,131,650,86,86,86,694,708,86,86,694,86,458,131,131,131,131,131,131,667,694,289,650,667,131,131,86,640,131,131,664,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,460,86,86,86,86,86,86,86,86,86,86,86,86,86,458,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,466,203,149,429,94,432,160,687,539,63,237,283,192,248,348,259,427,526,396,676,254,468,487,212,327,623,49,633,322,493,434,688,357,361,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131]),{mapStr:"صلى الله عليه وسلمجل جلالهキロメートルrad∕s2エスクードキログラムキロワットグラムトンクルゼイロサンチームパーセントピアストルファラッドブッシェルヘクタールマンションミリバールレントゲン′′′′1⁄10viii(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)∫∫∫∫(오전)(오후)アパートアルファアンペアイニングエーカーカラットカロリーキュリーギルダークローネサイクルシリングバーレルフィートポイントマイクロミクロンメガトンリットルルーブル株式会社kcalm∕s2c∕kgاكبرمحمدصلعمرسولریال1⁄41⁄23⁄4 ̈́ྲཱྀླཱྀ ̈͂ ̓̀ ̓́ ̓͂ ̔̀ ̔́ ̔͂ ̈̀‵‵‵a/ca/sc/oc/utelfax1⁄71⁄91⁄32⁄31⁄52⁄53⁄54⁄51⁄65⁄61⁄83⁄85⁄87⁄8xii0⁄3∮∮∮(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)::====(ᄀ)(ᄂ)(ᄃ)(ᄅ)(ᄆ)(ᄇ)(ᄉ)(ᄋ)(ᄌ)(ᄎ)(ᄏ)(ᄐ)(ᄑ)(ᄒ)(가)(나)(다)(라)(마)(바)(사)(아)(자)(차)(카)(타)(파)(하)(주)(一)(二)(三)(四)(五)(六)(七)(八)(九)(十)(月)(火)(水)(木)(金)(土)(日)(株)(有)(社)(名)(特)(財)(祝)(労)(代)(呼)(学)(監)(企)(資)(協)(祭)(休)(自)(至)pte10月11月12月ergltdアールインチウォンオンスオームカイリガロンガンマギニーケースコルナコーポセンチダースノットハイツパーツピクルフランペニヒヘルツペンスページベータボルトポンドホールホーンマイルマッハマルクヤードヤールユアンルピー10点11点12点13点14点15点16点17点18点19点20点21点22点23点24点hpabardm2dm3khzmhzghzthzmm2cm2km2mm3cm3km3kpampagpalogmilmolppmv∕ma∕m10日11日12日13日14日15日16日17日18日19日20日21日22日23日24日25日26日27日28日29日30日31日galffifflשּׁשּׂ ٌّ ٍّ َّ ُّ ِّ ّٰـَّـُّـِّتجمتحجتحمتخمتمجتمحتمخجمححميحمىسحجسجحسجىسمحسمجسممصححصممشحمشجيشمخشممضحىضخمطمحطممطميعجمعممعمىغممغميغمىفخمقمحقمملحملحيلحىلججلخملمحمحجمحيمجحمجممخممجخهمجهممنحمنحىنجمنجىنمينمىيممبخيتجيتجىتخيتخىتميتمىجميجحىجمىسخىصحيشحيضحيلجيلمييحييجييميمميقمينحيعميكمينجحمخيلجمكممجحيحجيمجيفميبحيسخينجيصلےقلے𝅘𝅥𝅮𝅘𝅥𝅯𝅘𝅥𝅰𝅘𝅥𝅱𝅘𝅥𝅲𝆹𝅥𝅮𝆺𝅥𝅮𝆹𝅥𝅯𝆺𝅥𝅯〔s〕ppv〔本〕〔三〕〔二〕〔安〕〔点〕〔打〕〔盗〕〔勝〕〔敗〕 ̄ ́ ̧ssi̇ijl·ʼndžljnjdz ̆ ̇ ̊ ̨ ̃ ̋ ιեւاٴوٴۇٴيٴक़ख़ग़ज़ड़ढ़फ़य़ড়ঢ়য়ਲ਼ਸ਼ਖ਼ਗ਼ਜ਼ਫ਼ଡ଼ଢ଼ําໍາຫນຫມགྷཌྷདྷབྷཛྷཀྵཱཱིུྲྀླྀྒྷྜྷྡྷྦྷྫྷྐྵaʾἀιἁιἂιἃιἄιἅιἆιἇιἠιἡιἢιἣιἤιἥιἦιἧιὠιὡιὢιὣιὤιὥιὦιὧιὰιαιάιᾶι ͂ὴιηιήιῆιὼιωιώιῶι ̳!! ̅???!!?rs°c°fnosmtmivix⫝̸ ゙ ゚よりコト333435참고주의363738394042444546474849503月4月5月6月7月8月9月hgevギガデシドルナノピコビルペソホンリラレムdaauovpciu平成昭和大正明治naμakakbmbgbpfnfμfμgmgμlmldlklfmnmμmpsnsμsmsnvμvkvpwnwμwmwkwkωmωbqcccddbgyhainkkktlnlxphprsrsvwbstմնմեմիվնմխיִײַשׁשׂאַאָאּבּגּדּהּוּזּטּיּךּכּלּמּנּסּףּפּצּקּרּתּוֹבֿכֿפֿאלئائەئوئۇئۆئۈئېئىئجئحئمئيبجبمبىبيتىتيثجثمثىثيخحضجضمطحظمغجفجفحفىفيقحقىقيكاكجكحكخكلكىكينخنىنيهجهىهييىذٰرٰىٰئرئزئنبزبنترتزتنثرثزثنمانرنزننيريزئخئهبهتهصخنههٰثهسهشهطىطيعىعيغىغيسىسيشىشيصىصيضىضيشخشرسرصرضراً ًـًـّ ْـْلآلألإ𝅗𝅥0,1,2,3,4,5,6,7,8,9,wzhvsdwcmcmddjほかココàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįĵķĺļľłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷÿźżɓƃƅɔƈɖɗƌǝəɛƒɠɣɩɨƙɯɲɵơƣƥʀƨʃƭʈưʊʋƴƶʒƹƽǎǐǒǔǖǘǚǜǟǡǣǥǧǩǫǭǯǵƕƿǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟƞȣȥȧȩȫȭȯȱȳⱥȼƚⱦɂƀʉʌɇɉɋɍɏɦɹɻʁʕͱͳʹͷ;ϳέίόύβγδεζθκλνξοπρστυφχψϊϋϗϙϛϝϟϡϣϥϧϩϫϭϯϸϻͻͼͽѐёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюяѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯաբգդզէըթժլծկհձղճյշոչպջռստրցփքօֆ་ⴧⴭნᏰᏱᏲᏳᏴᏵꙋɐɑᴂɜᴖᴗᴝᴥɒɕɟɡɥɪᵻʝɭᶅʟɱɰɳɴɸʂƫᴜʐʑḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿἐἑἒἓἔἕἰἱἲἳἴἵἶἷὀὁὂὃὄὅὑὓὕὗᾰᾱὲΐῐῑὶΰῠῡὺῥ`ὸ‐+−∑〈〉ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞⱡɫᵽɽⱨⱪⱬⱳⱶȿɀⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳬⳮⳳⵡ母龟丨丶丿乙亅亠人儿入冂冖冫几凵刀力勹匕匚匸卜卩厂厶又口囗士夂夊夕女子宀寸小尢尸屮山巛工己巾干幺广廴廾弋弓彐彡彳心戈戶手支攴文斗斤方无曰欠止歹殳毋比毛氏气爪父爻爿片牙牛犬玄玉瓜瓦甘生用田疋疒癶白皮皿目矛矢石示禸禾穴立竹米糸缶网羊羽老而耒耳聿肉臣臼舌舛舟艮色艸虍虫血行衣襾見角言谷豆豕豸貝赤走足身車辛辰辵邑酉釆里長門阜隶隹雨靑非面革韋韭音頁風飛食首香馬骨高髟鬥鬯鬲鬼魚鳥鹵鹿麥麻黃黍黑黹黽鼎鼓鼠鼻齊齒龍龜龠.〒卄卅ᄁᆪᆬᆭᄄᆰᆱᆲᆳᆴᆵᄚᄈᄡᄊ짜ᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵᄔᄕᇇᇈᇌᇎᇓᇗᇙᄜᇝᇟᄝᄞᄠᄢᄣᄧᄩᄫᄬᄭᄮᄯᄲᄶᅀᅇᅌᇱᇲᅗᅘᅙᆄᆅᆈᆑᆒᆔᆞᆡ上中下甲丙丁天地問幼箏우秘男適優印注項写左右医宗夜テヌモヨヰヱヲꙁꙃꙅꙇꙉꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝺꝼᵹꝿꞁꞃꞅꞇꞌꞑꞓꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩɬʞʇꭓꞵꞷꬷꭒᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅᏆᏇᏈᏉᏊᏋᏌᏍᏎᏏᏐᏑᏒᏓᏔᏕᏖᏗᏘᏙᏚᏛᏜᏝᏞᏟᏠᏡᏢᏣᏤᏥᏦᏧᏨᏩᏪᏫᏬᏭᏮᏯ豈更賈滑串句契喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧蘆虜路露魯鷺碌祿綠菉錄論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏諾丹寧怒率異北磻便復不泌數索參塞省葉說殺沈拾若掠略亮兩凉梁糧良諒量勵呂廬旅濾礪閭驪麗黎曆歷轢年憐戀撚漣煉璉秊練聯輦蓮連鍊列劣咽烈裂廉念捻殮簾獵令囹嶺怜玲瑩羚聆鈴零靈領例禮醴隸惡了僚寮尿料燎療蓼遼暈阮劉杻柳流溜琉留硫紐類戮陸倫崙淪輪律慄栗隆利吏履易李梨泥理痢罹裏裡離匿溺吝燐璘藺隣鱗麟林淋臨笠粒狀炙識什茶刺切度拓糖宅洞暴輻降廓兀嗀塚晴凞猪益礼神祥福靖精蘒諸逸都飯飼館鶴郞隷侮僧免勉勤卑喝嘆器塀墨層悔慨憎懲敏既暑梅海渚漢煮爫琢碑祉祈祐祖禍禎穀突節縉繁署者臭艹著褐視謁謹賓贈辶難響頻恵𤋮舘並况全侀充冀勇勺啕喙嗢墳奄奔婢嬨廒廙彩徭惘慎愈慠戴揄搜摒敖望杖滛滋瀞瞧爵犯瑱甆画瘝瘟盛直睊着磌窱类絛缾荒華蝹襁覆調請諭變輸遲醙鉶陼韛頋鬒𢡊𢡄𣏕㮝䀘䀹𥉉𥳐𧻓齃龎עםٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھۓڭۋۅۉ、〖〗—–_{}【】《》「」『』[]#&*-<>\\$%@ءؤة\"'^|~⦅⦆・ゥャ¢£¬¦¥₩│←↑→↓■○𐐨𐐩𐐪𐐫𐐬𐐭𐐮𐐯𐐰𐐱𐐲𐐳𐐴𐐵𐐶𐐷𐐸𐐹𐐺𐐻𐐼𐐽𐐾𐐿𐑀𐑁𐑂𐑃𐑄𐑅𐑆𐑇𐑈𐑉𐑊𐑋𐑌𐑍𐑎𐑏𐓘𐓙𐓚𐓛𐓜𐓝𐓞𐓟𐓠𐓡𐓢𐓣𐓤𐓥𐓦𐓧𐓨𐓩𐓪𐓫𐓬𐓭𐓮𐓯𐓰𐓱𐓲𐓳𐓴𐓵𐓶𐓷𐓸𐓹𐓺𐓻𐳀𐳁𐳂𐳃𐳄𐳅𐳆𐳇𐳈𐳉𐳊𐳋𐳌𐳍𐳎𐳏𐳐𐳑𐳒𐳓𐳔𐳕𐳖𐳗𐳘𐳙𐳚𐳛𐳜𐳝𐳞𐳟𐳠𐳡𐳢𐳣𐳤𐳥𐳦𐳧𐳨𐳩𐳪𐳫𐳬𐳭𐳮𐳯𐳰𐳱𐳲𑣀𑣁𑣂𑣃𑣄𑣅𑣆𑣇𑣈𑣉𑣊𑣋𑣌𑣍𑣎𑣏𑣐𑣑𑣒𑣓𑣔𑣕𑣖𑣗𑣘𑣙𑣚𑣛𑣜𑣝𑣞𑣟ıȷ∇∂𞤢𞤣𞤤𞤥𞤦𞤧𞤨𞤩𞤪𞤫𞤬𞤭𞤮𞤯𞤰𞤱𞤲𞤳𞤴𞤵𞤶𞤷𞤸𞤹𞤺𞤻𞤼𞤽𞤾𞤿𞥀𞥁𞥂𞥃ٮڡٯ字双多解交映無前後再新初終販声吹演投捕遊指禁空合満申割営配得可丽丸乁𠄢你侻倂偺備像㒞𠘺兔兤具𠔜㒹內𠕋冗冤仌冬𩇟刃㓟刻剆剷㔕包匆卉博即卽卿𠨬灰及叟𠭣叫叱吆咞吸呈周咢哶唐啓啣善喫喳嗂圖圗噑噴壮城埴堍型堲報墬𡓤売壷夆夢奢𡚨𡛪姬娛娧姘婦㛮嬈嬾𡧈寃寘寳𡬘寿将㞁屠峀岍𡷤嵃𡷦嵮嵫嵼巡巢㠯巽帨帽幩㡢𢆃㡼庰庳庶𪎒𢌱舁弢㣇𣊸𦇚形彫㣣徚忍志忹悁㤺㤜𢛔惇慈慌慺憲憤憯懞戛扝抱拔捐𢬌挽拼捨掃揤𢯱搢揅掩㨮摩摾撝摷㩬敬𣀊旣書晉㬙㬈㫤冒冕最暜肭䏙朡杞杓𣏃㭉柺枅桒𣑭梎栟椔楂榣槪檨𣚣櫛㰘次𣢧歔㱎歲殟殻𣪍𡴋𣫺汎𣲼沿泍汧洖派浩浸涅𣴞洴港湮㴳滇𣻑淹潮𣽞𣾎濆瀹瀛㶖灊災灷炭𠔥煅𤉣熜爨牐𤘈犀犕𤜵𤠔獺王㺬玥㺸瑇瑜璅瓊㼛甤𤰶甾𤲒𢆟瘐𤾡𤾸𥁄㿼䀈𥃳𥃲𥄙𥄳眞真瞋䁆䂖𥐝硎䃣𥘦𥚚𥛅秫䄯穊穏𥥼𥪧䈂𥮫篆築䈧𥲀糒䊠糨糣紀𥾆絣䌁緇縂繅䌴𦈨𦉇䍙𦋙罺𦌾羕翺𦓚𦔣聠𦖨聰𣍟䏕育脃䐋脾媵𦞧𦞵𣎓𣎜舄辞䑫芑芋芝劳花芳芽苦𦬼茝荣莭茣莽菧荓菊菌菜𦰶𦵫𦳕䔫蓱蓳蔖𧏊蕤𦼬䕝䕡𦾱𧃒䕫虐虧虩蚩蚈蜎蛢蜨蝫螆蟡蠁䗹衠𧙧裗裞䘵裺㒻𧢮𧥦䚾䛇誠𧲨貫賁贛起𧼯𠠄跋趼跰𠣞軔𨗒𨗭邔郱鄑𨜮鄛鈸鋗鋘鉼鏹鐕𨯺開䦕閷𨵷䧦雃嶲霣𩅅𩈚䩮䩶韠𩐊䪲𩒖頩𩖶飢䬳餩馧駂駾䯎𩬰鱀鳽䳎䳭鵧𪃎䳸𪄅𪈎𪊑䵖黾鼅鼏鼖𪘀",mapChar:function(r){return r>=196608?r>=917760&&r<=917999?18874368:0:t[e[r>>4]][15&r]}};var t,e}.apply(e,[]))||(t.exports=n)},function(t,e,r){"use strict";t.exports=[{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"resolver",outputs:[{name:"",type:"address"}],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"label",type:"bytes32"},{name:"owner",type:"address"}],name:"setSubnodeOwner",outputs:[],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"ttl",type:"uint64"}],name:"setTTL",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"ttl",outputs:[{name:"",type:"uint64"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"resolver",type:"address"}],name:"setResolver",outputs:[],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"owner",type:"address"}],name:"setOwner",outputs:[],payable:!1,type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!0,name:"label",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"NewOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"resolver",type:"address"}],name:"NewResolver",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"ttl",type:"uint64"}],name:"NewTTL",type:"event"},{constant:!1,inputs:[{internalType:"bytes32",name:"node",type:"bytes32"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"resolver",type:"address"},{internalType:"uint64",name:"ttl",type:"uint64"}],name:"setRecord",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes32",name:"node",type:"bytes32"}],name:"recordExists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"bytes32",name:"node",type:"bytes32"},{internalType:"bytes32",name:"label",type:"bytes32"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"resolver",type:"address"},{internalType:"uint64",name:"ttl",type:"uint64"}],name:"setSubnodeRecord",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}]},function(t,e,r){"use strict";t.exports=[{constant:!0,inputs:[{name:"interfaceID",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",type:"bool"}],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"},{name:"contentTypes",type:"uint256"}],name:"ABI",outputs:[{name:"contentType",type:"uint256"},{name:"data",type:"bytes"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"hash",type:"bytes"}],name:"setMultihash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"multihash",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"x",type:"bytes32"},{name:"y",type:"bytes32"}],name:"setPubkey",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"content",outputs:[{name:"ret",type:"bytes32"}],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"addr",outputs:[{name:"ret",type:"address"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"contentType",type:"uint256"},{name:"data",type:"bytes"}],name:"setABI",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"name",outputs:[{name:"ret",type:"string"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"name",type:"string"}],name:"setName",outputs:[],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"hash",type:"bytes32"}],name:"setContent",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"pubkey",outputs:[{name:"x",type:"bytes32"},{name:"y",type:"bytes32"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"addr",type:"address"}],name:"setAddr",outputs:[],payable:!1,type:"function"},{inputs:[{name:"ensAddr",type:"address"}],payable:!1,type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"a",type:"address"}],name:"AddrChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"hash",type:"bytes32"}],name:"ContentChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"name",type:"string"}],name:"NameChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!0,name:"contentType",type:"uint256"}],name:"ABIChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"x",type:"bytes32"},{indexed:!1,name:"y",type:"bytes32"}],name:"PubkeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"hash",type:"bytes"}],name:"ContenthashChanged",type:"event"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"contenthash",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"hash",type:"bytes"}],name:"setContenthash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}]},function(t,e,r){"use strict";var n=r(0),i=n(r(62)),o=n(r(96)),a=r(72),s=r(185),u=r(11).errors,f=r(175).interfaceIds;function c(t){this.registry=t}c.prototype.method=function(t,e,r,n,i){return{call:this.call.bind({ensName:t,methodName:e,methodArguments:r,callback:i,parent:this,outputFormatter:n}),send:this.send.bind({ensName:t,methodName:e,methodArguments:r,callback:i,parent:this})}},c.prototype.call=function(t){var e=this,r=new a,n=this.parent.prepareArguments(this.ensName,this.methodArguments),s=this.outputFormatter||null;return this.parent.registry.getResolver(this.ensName).then(function(){var a=(0,o.default)(i.default.mark((function o(a){return i.default.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,e.parent.checkInterfaceSupport(a,e.methodName);case 2:e.parent.handleCall(r,a.methods[e.methodName],n,s,t);case 3:case"end":return i.stop()}}),o)})));return function(t){return a.apply(this,arguments)}}()).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},c.prototype.send=function(t,e){var r=this,n=new a,s=this.parent.prepareArguments(this.ensName,this.methodArguments);return this.parent.registry.getResolver(this.ensName).then(function(){var a=(0,o.default)(i.default.mark((function o(a){return i.default.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,r.parent.checkInterfaceSupport(a,r.methodName);case 2:r.parent.handleSend(n,a.methods[r.methodName],s,t,e);case 3:case"end":return i.stop()}}),o)})));return function(t){return a.apply(this,arguments)}}()).catch((function(t){"function"!=typeof e?n.reject(t):e(t,null)})),n.eventEmitter},c.prototype.handleCall=function(t,e,r,n,i){return e.apply(this,r).call().then((function(e){n&&(e=n(e)),"function"!=typeof i?t.resolve(e):i(e,e)})).catch((function(e){"function"!=typeof i?t.reject(e):i(e,null)})),t},c.prototype.handleSend=function(t,e,r,n,i){return e.apply(this,r).send(n).on("sending",(function(){t.eventEmitter.emit("sending")})).on("sent",(function(){t.eventEmitter.emit("sent")})).on("transactionHash",(function(e){t.eventEmitter.emit("transactionHash",e)})).on("confirmation",(function(e,r){t.eventEmitter.emit("confirmation",e,r)})).on("receipt",(function(e){t.eventEmitter.emit("receipt",e),t.resolve(e),"function"==typeof i&&i(e,e)})).on("error",(function(e){t.eventEmitter.emit("error",e),"function"!=typeof i?t.reject(e):i(e,null)})),t},c.prototype.prepareArguments=function(t,e){var r=s.hash(t);return e.length>0?(e.unshift(r),e):[r]},c.prototype.checkInterfaceSupport=function(){var t=(0,o.default)(i.default.mark((function t(e,r){var n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(f[r]){t.next=2;break}return t.abrupt("return");case 2:return n=!1,t.prev=3,t.next=6,e.methods.supportsInterface(f[r]).call();case 6:n=t.sent,t.next=12;break;case 9:t.prev=9,t.t0=t.catch(3),console.warn('Could not verify interface of resolver contract at "'+e.options.address+'". ');case 12:if(n){t.next=14;break}throw u.ResolverMethodMissingError(e.options.address,r);case 14:case"end":return t.stop()}}),t,null,[[3,9]])})));return function(e,r){return t.apply(this,arguments)}}(),t.exports=c},function(t,e,r){"use strict";var n=r(445);t.exports={decode:function(t){var e=null,r=null,i=null;if(t&&t.error)return{protocolType:null,decoded:t.error};if(t)try{e=n.decode(t);var o=n.getCodec(t);"ipfs-ns"===o?r="ipfs":"swarm-ns"===o?r="bzz":"onion"===o?r="onion":"onion3"===o?r="onion3":e=t}catch(t){i=t.message}return{protocolType:r,decoded:e,error:i}},encode:function(t){var e,r,i=!1;if(t){var o=t.match(/^(ipfs|bzz|onion|onion3):\/\/(.*)/)||t.match(/\/(ipfs)\/(.*)/);o&&(r=o[1],e=o[2]);try{if("ipfs"===r)e.length>=4&&(i="0x"+n.fromIpfs(e));else if("bzz"===r)e.length>=4&&(i="0x"+n.fromSwarm(e));else if("onion"===r)16===e.length&&(i="0x"+n.encode("onion",e));else{if("onion3"!==r)throw new Error("Could not encode content hash: unsupported content type");56===e.length&&(i="0x"+n.encode("onion3",e))}}catch(t){throw t}}return i}}},function(t,e,r){"use strict";var n=r(446),i=r(454),o=i.hexStringToBuffer,a=i.profiles,s=r(477).cidV0ToV1Base32;t.exports={helpers:{cidV0ToV1Base32:s},decode:function(t){var e=o(t),r=n.getCodec(e),i=n.rmPrefix(e),s=a[r];return s||(s=a.default),s.decode(i)},fromIpfs:function(t){return this.encode("ipfs-ns",t)},fromSwarm:function(t){return this.encode("swarm-ns",t)},encode:function(t,e){var r=a[t];r||(r=a.default);var i=r.encode(e);return n.addPrefix(t,i).toString("hex")},getCodec:function(t){var e=o(t);return n.getCodec(e)}}},function(t,e,r){"use strict";(function(n){var i=r(66),o=r(450),a=r(451),s=r(186);(e=t.exports).addPrefix=function(t,e){var r;if(n.isBuffer(t))r=s.varintBufferEncode(t);else{if(!a[t])throw new Error("multicodec not recognized");r=a[t]}return n.concat([r,e])},e.rmPrefix=function(t){return i.decode(t),t.slice(i.decode.bytes)},e.getCodec=function(t){var e=i.decode(t),r=o.get(e);if(void 0===r)throw new Error("Code ".concat(e," not found"));return r},e.getName=function(t){return o.get(t)},e.getNumber=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return s.varintBufferDecode(e)[0]},e.getCode=function(t){return i.decode(t)},e.getCodeVarint=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return e},e.getVarint=function(t){return i.encode(t)};var u=r(452);Object.assign(e,u),e.print=r(453)}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=function t(e,r,i){r=r||[];var o=i=i||0;for(;e>=n;)r[i++]=255&e|128,e/=128;for(;-128&e;)r[i++]=255&e|128,e>>>=7;return r[i]=0|e,t.bytes=i-o+1,r};var n=Math.pow(2,31)},function(t,e,r){"use strict";t.exports=function t(e,r){var n,i=0,o=0,a=r=r||0,s=e.length;do{if(a>=s)throw t.bytes=0,new RangeError("Could not decode varint");n=e[a++],i+=o<28?(127&n)<=128);return t.bytes=a-r,i}},function(t,e,r){"use strict";var n=Math.pow(2,7),i=Math.pow(2,14),o=Math.pow(2,21),a=Math.pow(2,28),s=Math.pow(2,35),u=Math.pow(2,42),f=Math.pow(2,49),c=Math.pow(2,56),h=Math.pow(2,63);t.exports=function(t){return t=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=5;)s+=e[a>>>o-5&31],o-=5;if(o>0&&(s+=e[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}t.exports=function(t){return{encode:function(e){return o("string"==typeof e?Uint8Array.from(e):e,t)},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;if(t.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(t){i.e(t)}finally{i.f()}return function(t,e){for(var r=(t=t.replace(new RegExp("=","g"),"")).length,n=0,i=0,o=0,a=new Uint8Array(5*r/8|0),s=0;s=8&&(a[o++]=i>>>n-8&255,n-=8);return a.buffer}(e,t)}}}},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1,r=t.indexOf("-")>-1&&t.indexOf("_")>-1;return{encode:function(t){var n="";n="string"==typeof t?o.from(t).toString("base64"):t.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var i=n.indexOf("=");return i>0&&!e&&(n=n.substring(0,i)),n},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;if(t.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(t){i.e(t)}finally{i.f()}return o.from(e,"base64")}}}},function(t,e,r){"use strict";e.names=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"dbl-sha2-256":86,"sha3-224":23,"sha3-256":22,"sha3-384":21,"sha3-512":20,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,"murmur3-128":34,"murmur3-32":35,md4:212,md5:213,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"Skein256-8":45825,"Skein256-16":45826,"Skein256-24":45827,"Skein256-32":45828,"Skein256-40":45829,"Skein256-48":45830,"Skein256-56":45831,"Skein256-64":45832,"Skein256-72":45833,"Skein256-80":45834,"Skein256-88":45835,"Skein256-96":45836,"Skein256-104":45837,"Skein256-112":45838,"Skein256-120":45839,"Skein256-128":45840,"Skein256-136":45841,"Skein256-144":45842,"Skein256-152":45843,"Skein256-160":45844,"Skein256-168":45845,"Skein256-176":45846,"Skein256-184":45847,"Skein256-192":45848,"Skein256-200":45849,"Skein256-208":45850,"Skein256-216":45851,"Skein256-224":45852,"Skein256-232":45853,"Skein256-240":45854,"Skein256-248":45855,"Skein256-256":45856,"Skein512-8":45857,"Skein512-16":45858,"Skein512-24":45859,"Skein512-32":45860,"Skein512-40":45861,"Skein512-48":45862,"Skein512-56":45863,"Skein512-64":45864,"Skein512-72":45865,"Skein512-80":45866,"Skein512-88":45867,"Skein512-96":45868,"Skein512-104":45869,"Skein512-112":45870,"Skein512-120":45871,"Skein512-128":45872,"Skein512-136":45873,"Skein512-144":45874,"Skein512-152":45875,"Skein512-160":45876,"Skein512-168":45877,"Skein512-176":45878,"Skein512-184":45879,"Skein512-192":45880,"Skein512-200":45881,"Skein512-208":45882,"Skein512-216":45883,"Skein512-224":45884,"Skein512-232":45885,"Skein512-240":45886,"Skein512-248":45887,"Skein512-256":45888,"Skein512-264":45889,"Skein512-272":45890,"Skein512-280":45891,"Skein512-288":45892,"Skein512-296":45893,"Skein512-304":45894,"Skein512-312":45895,"Skein512-320":45896,"Skein512-328":45897,"Skein512-336":45898,"Skein512-344":45899,"Skein512-352":45900,"Skein512-360":45901,"Skein512-368":45902,"Skein512-376":45903,"Skein512-384":45904,"Skein512-392":45905,"Skein512-400":45906,"Skein512-408":45907,"Skein512-416":45908,"Skein512-424":45909,"Skein512-432":45910,"Skein512-440":45911,"Skein512-448":45912,"Skein512-456":45913,"Skein512-464":45914,"Skein512-472":45915,"Skein512-480":45916,"Skein512-488":45917,"Skein512-496":45918,"Skein512-504":45919,"Skein512-512":45920,"Skein1024-8":45921,"Skein1024-16":45922,"Skein1024-24":45923,"Skein1024-32":45924,"Skein1024-40":45925,"Skein1024-48":45926,"Skein1024-56":45927,"Skein1024-64":45928,"Skein1024-72":45929,"Skein1024-80":45930,"Skein1024-88":45931,"Skein1024-96":45932,"Skein1024-104":45933,"Skein1024-112":45934,"Skein1024-120":45935,"Skein1024-128":45936,"Skein1024-136":45937,"Skein1024-144":45938,"Skein1024-152":45939,"Skein1024-160":45940,"Skein1024-168":45941,"Skein1024-176":45942,"Skein1024-184":45943,"Skein1024-192":45944,"Skein1024-200":45945,"Skein1024-208":45946,"Skein1024-216":45947,"Skein1024-224":45948,"Skein1024-232":45949,"Skein1024-240":45950,"Skein1024-248":45951,"Skein1024-256":45952,"Skein1024-264":45953,"Skein1024-272":45954,"Skein1024-280":45955,"Skein1024-288":45956,"Skein1024-296":45957,"Skein1024-304":45958,"Skein1024-312":45959,"Skein1024-320":45960,"Skein1024-328":45961,"Skein1024-336":45962,"Skein1024-344":45963,"Skein1024-352":45964,"Skein1024-360":45965,"Skein1024-368":45966,"Skein1024-376":45967,"Skein1024-384":45968,"Skein1024-392":45969,"Skein1024-400":45970,"Skein1024-408":45971,"Skein1024-416":45972,"Skein1024-424":45973,"Skein1024-432":45974,"Skein1024-440":45975,"Skein1024-448":45976,"Skein1024-456":45977,"Skein1024-464":45978,"Skein1024-472":45979,"Skein1024-480":45980,"Skein1024-488":45981,"Skein1024-496":45982,"Skein1024-504":45983,"Skein1024-512":45984,"Skein1024-520":45985,"Skein1024-528":45986,"Skein1024-536":45987,"Skein1024-544":45988,"Skein1024-552":45989,"Skein1024-560":45990,"Skein1024-568":45991,"Skein1024-576":45992,"Skein1024-584":45993,"Skein1024-592":45994,"Skein1024-600":45995,"Skein1024-608":45996,"Skein1024-616":45997,"Skein1024-624":45998,"Skein1024-632":45999,"Skein1024-640":46e3,"Skein1024-648":46001,"Skein1024-656":46002,"Skein1024-664":46003,"Skein1024-672":46004,"Skein1024-680":46005,"Skein1024-688":46006,"Skein1024-696":46007,"Skein1024-704":46008,"Skein1024-712":46009,"Skein1024-720":46010,"Skein1024-728":46011,"Skein1024-736":46012,"Skein1024-744":46013,"Skein1024-752":46014,"Skein1024-760":46015,"Skein1024-768":46016,"Skein1024-776":46017,"Skein1024-784":46018,"Skein1024-792":46019,"Skein1024-800":46020,"Skein1024-808":46021,"Skein1024-816":46022,"Skein1024-824":46023,"Skein1024-832":46024,"Skein1024-840":46025,"Skein1024-848":46026,"Skein1024-856":46027,"Skein1024-864":46028,"Skein1024-872":46029,"Skein1024-880":46030,"Skein1024-888":46031,"Skein1024-896":46032,"Skein1024-904":46033,"Skein1024-912":46034,"Skein1024-920":46035,"Skein1024-928":46036,"Skein1024-936":46037,"Skein1024-944":46038,"Skein1024-952":46039,"Skein1024-960":46040,"Skein1024-968":46041,"Skein1024-976":46042,"Skein1024-984":46043,"Skein1024-992":46044,"Skein1024-1000":46045,"Skein1024-1008":46046,"Skein1024-1016":46047,"Skein1024-1024":46048}),e.codes=Object.freeze({0:"identity",17:"sha1",18:"sha2-256",19:"sha2-512",86:"dbl-sha2-256",23:"sha3-224",22:"sha3-256",21:"sha3-384",20:"sha3-512",24:"shake-128",25:"shake-256",26:"keccak-224",27:"keccak-256",28:"keccak-384",29:"keccak-512",34:"murmur3-128",35:"murmur3-32",212:"md4",213:"md5",45569:"blake2b-8",45570:"blake2b-16",45571:"blake2b-24",45572:"blake2b-32",45573:"blake2b-40",45574:"blake2b-48",45575:"blake2b-56",45576:"blake2b-64",45577:"blake2b-72",45578:"blake2b-80",45579:"blake2b-88",45580:"blake2b-96",45581:"blake2b-104",45582:"blake2b-112",45583:"blake2b-120",45584:"blake2b-128",45585:"blake2b-136",45586:"blake2b-144",45587:"blake2b-152",45588:"blake2b-160",45589:"blake2b-168",45590:"blake2b-176",45591:"blake2b-184",45592:"blake2b-192",45593:"blake2b-200",45594:"blake2b-208",45595:"blake2b-216",45596:"blake2b-224",45597:"blake2b-232",45598:"blake2b-240",45599:"blake2b-248",45600:"blake2b-256",45601:"blake2b-264",45602:"blake2b-272",45603:"blake2b-280",45604:"blake2b-288",45605:"blake2b-296",45606:"blake2b-304",45607:"blake2b-312",45608:"blake2b-320",45609:"blake2b-328",45610:"blake2b-336",45611:"blake2b-344",45612:"blake2b-352",45613:"blake2b-360",45614:"blake2b-368",45615:"blake2b-376",45616:"blake2b-384",45617:"blake2b-392",45618:"blake2b-400",45619:"blake2b-408",45620:"blake2b-416",45621:"blake2b-424",45622:"blake2b-432",45623:"blake2b-440",45624:"blake2b-448",45625:"blake2b-456",45626:"blake2b-464",45627:"blake2b-472",45628:"blake2b-480",45629:"blake2b-488",45630:"blake2b-496",45631:"blake2b-504",45632:"blake2b-512",45633:"blake2s-8",45634:"blake2s-16",45635:"blake2s-24",45636:"blake2s-32",45637:"blake2s-40",45638:"blake2s-48",45639:"blake2s-56",45640:"blake2s-64",45641:"blake2s-72",45642:"blake2s-80",45643:"blake2s-88",45644:"blake2s-96",45645:"blake2s-104",45646:"blake2s-112",45647:"blake2s-120",45648:"blake2s-128",45649:"blake2s-136",45650:"blake2s-144",45651:"blake2s-152",45652:"blake2s-160",45653:"blake2s-168",45654:"blake2s-176",45655:"blake2s-184",45656:"blake2s-192",45657:"blake2s-200",45658:"blake2s-208",45659:"blake2s-216",45660:"blake2s-224",45661:"blake2s-232",45662:"blake2s-240",45663:"blake2s-248",45664:"blake2s-256",45825:"Skein256-8",45826:"Skein256-16",45827:"Skein256-24",45828:"Skein256-32",45829:"Skein256-40",45830:"Skein256-48",45831:"Skein256-56",45832:"Skein256-64",45833:"Skein256-72",45834:"Skein256-80",45835:"Skein256-88",45836:"Skein256-96",45837:"Skein256-104",45838:"Skein256-112",45839:"Skein256-120",45840:"Skein256-128",45841:"Skein256-136",45842:"Skein256-144",45843:"Skein256-152",45844:"Skein256-160",45845:"Skein256-168",45846:"Skein256-176",45847:"Skein256-184",45848:"Skein256-192",45849:"Skein256-200",45850:"Skein256-208",45851:"Skein256-216",45852:"Skein256-224",45853:"Skein256-232",45854:"Skein256-240",45855:"Skein256-248",45856:"Skein256-256",45857:"Skein512-8",45858:"Skein512-16",45859:"Skein512-24",45860:"Skein512-32",45861:"Skein512-40",45862:"Skein512-48",45863:"Skein512-56",45864:"Skein512-64",45865:"Skein512-72",45866:"Skein512-80",45867:"Skein512-88",45868:"Skein512-96",45869:"Skein512-104",45870:"Skein512-112",45871:"Skein512-120",45872:"Skein512-128",45873:"Skein512-136",45874:"Skein512-144",45875:"Skein512-152",45876:"Skein512-160",45877:"Skein512-168",45878:"Skein512-176",45879:"Skein512-184",45880:"Skein512-192",45881:"Skein512-200",45882:"Skein512-208",45883:"Skein512-216",45884:"Skein512-224",45885:"Skein512-232",45886:"Skein512-240",45887:"Skein512-248",45888:"Skein512-256",45889:"Skein512-264",45890:"Skein512-272",45891:"Skein512-280",45892:"Skein512-288",45893:"Skein512-296",45894:"Skein512-304",45895:"Skein512-312",45896:"Skein512-320",45897:"Skein512-328",45898:"Skein512-336",45899:"Skein512-344",45900:"Skein512-352",45901:"Skein512-360",45902:"Skein512-368",45903:"Skein512-376",45904:"Skein512-384",45905:"Skein512-392",45906:"Skein512-400",45907:"Skein512-408",45908:"Skein512-416",45909:"Skein512-424",45910:"Skein512-432",45911:"Skein512-440",45912:"Skein512-448",45913:"Skein512-456",45914:"Skein512-464",45915:"Skein512-472",45916:"Skein512-480",45917:"Skein512-488",45918:"Skein512-496",45919:"Skein512-504",45920:"Skein512-512",45921:"Skein1024-8",45922:"Skein1024-16",45923:"Skein1024-24",45924:"Skein1024-32",45925:"Skein1024-40",45926:"Skein1024-48",45927:"Skein1024-56",45928:"Skein1024-64",45929:"Skein1024-72",45930:"Skein1024-80",45931:"Skein1024-88",45932:"Skein1024-96",45933:"Skein1024-104",45934:"Skein1024-112",45935:"Skein1024-120",45936:"Skein1024-128",45937:"Skein1024-136",45938:"Skein1024-144",45939:"Skein1024-152",45940:"Skein1024-160",45941:"Skein1024-168",45942:"Skein1024-176",45943:"Skein1024-184",45944:"Skein1024-192",45945:"Skein1024-200",45946:"Skein1024-208",45947:"Skein1024-216",45948:"Skein1024-224",45949:"Skein1024-232",45950:"Skein1024-240",45951:"Skein1024-248",45952:"Skein1024-256",45953:"Skein1024-264",45954:"Skein1024-272",45955:"Skein1024-280",45956:"Skein1024-288",45957:"Skein1024-296",45958:"Skein1024-304",45959:"Skein1024-312",45960:"Skein1024-320",45961:"Skein1024-328",45962:"Skein1024-336",45963:"Skein1024-344",45964:"Skein1024-352",45965:"Skein1024-360",45966:"Skein1024-368",45967:"Skein1024-376",45968:"Skein1024-384",45969:"Skein1024-392",45970:"Skein1024-400",45971:"Skein1024-408",45972:"Skein1024-416",45973:"Skein1024-424",45974:"Skein1024-432",45975:"Skein1024-440",45976:"Skein1024-448",45977:"Skein1024-456",45978:"Skein1024-464",45979:"Skein1024-472",45980:"Skein1024-480",45981:"Skein1024-488",45982:"Skein1024-496",45983:"Skein1024-504",45984:"Skein1024-512",45985:"Skein1024-520",45986:"Skein1024-528",45987:"Skein1024-536",45988:"Skein1024-544",45989:"Skein1024-552",45990:"Skein1024-560",45991:"Skein1024-568",45992:"Skein1024-576",45993:"Skein1024-584",45994:"Skein1024-592",45995:"Skein1024-600",45996:"Skein1024-608",45997:"Skein1024-616",45998:"Skein1024-624",45999:"Skein1024-632",46e3:"Skein1024-640",46001:"Skein1024-648",46002:"Skein1024-656",46003:"Skein1024-664",46004:"Skein1024-672",46005:"Skein1024-680",46006:"Skein1024-688",46007:"Skein1024-696",46008:"Skein1024-704",46009:"Skein1024-712",46010:"Skein1024-720",46011:"Skein1024-728",46012:"Skein1024-736",46013:"Skein1024-744",46014:"Skein1024-752",46015:"Skein1024-760",46016:"Skein1024-768",46017:"Skein1024-776",46018:"Skein1024-784",46019:"Skein1024-792",46020:"Skein1024-800",46021:"Skein1024-808",46022:"Skein1024-816",46023:"Skein1024-824",46024:"Skein1024-832",46025:"Skein1024-840",46026:"Skein1024-848",46027:"Skein1024-856",46028:"Skein1024-864",46029:"Skein1024-872",46030:"Skein1024-880",46031:"Skein1024-888",46032:"Skein1024-896",46033:"Skein1024-904",46034:"Skein1024-912",46035:"Skein1024-920",46036:"Skein1024-928",46037:"Skein1024-936",46038:"Skein1024-944",46039:"Skein1024-952",46040:"Skein1024-960",46041:"Skein1024-968",46042:"Skein1024-976",46043:"Skein1024-984",46044:"Skein1024-992",46045:"Skein1024-1000",46046:"Skein1024-1008",46047:"Skein1024-1016",46048:"Skein1024-1024"}),e.defaultLengths=Object.freeze({17:20,18:32,19:64,86:32,23:28,22:32,21:48,20:64,24:32,25:64,26:28,27:32,28:48,29:64,34:32,45569:1,45570:2,45571:3,45572:4,45573:5,45574:6,45575:7,45576:8,45577:9,45578:10,45579:11,45580:12,45581:13,45582:14,45583:15,45584:16,45585:17,45586:18,45587:19,45588:20,45589:21,45590:22,45591:23,45592:24,45593:25,45594:26,45595:27,45596:28,45597:29,45598:30,45599:31,45600:32,45601:33,45602:34,45603:35,45604:36,45605:37,45606:38,45607:39,45608:40,45609:41,45610:42,45611:43,45612:44,45613:45,45614:46,45615:47,45616:48,45617:49,45618:50,45619:51,45620:52,45621:53,45622:54,45623:55,45624:56,45625:57,45626:58,45627:59,45628:60,45629:61,45630:62,45631:63,45632:64,45633:1,45634:2,45635:3,45636:4,45637:5,45638:6,45639:7,45640:8,45641:9,45642:10,45643:11,45644:12,45645:13,45646:14,45647:15,45648:16,45649:17,45650:18,45651:19,45652:20,45653:21,45654:22,45655:23,45656:24,45657:25,45658:26,45659:27,45660:28,45661:29,45662:30,45663:31,45664:32,45825:1,45826:2,45827:3,45828:4,45829:5,45830:6,45831:7,45832:8,45833:9,45834:10,45835:11,45836:12,45837:13,45838:14,45839:15,45840:16,45841:17,45842:18,45843:19,45844:20,45845:21,45846:22,45847:23,45848:24,45849:25,45850:26,45851:27,45852:28,45853:29,45854:30,45855:31,45856:32,45857:1,45858:2,45859:3,45860:4,45861:5,45862:6,45863:7,45864:8,45865:9,45866:10,45867:11,45868:12,45869:13,45870:14,45871:15,45872:16,45873:17,45874:18,45875:19,45876:20,45877:21,45878:22,45879:23,45880:24,45881:25,45882:26,45883:27,45884:28,45885:29,45886:30,45887:31,45888:32,45889:33,45890:34,45891:35,45892:36,45893:37,45894:38,45895:39,45896:40,45897:41,45898:42,45899:43,45900:44,45901:45,45902:46,45903:47,45904:48,45905:49,45906:50,45907:51,45908:52,45909:53,45910:54,45911:55,45912:56,45913:57,45914:58,45915:59,45916:60,45917:61,45918:62,45919:63,45920:64,45921:1,45922:2,45923:3,45924:4,45925:5,45926:6,45927:7,45928:8,45929:9,45930:10,45931:11,45932:12,45933:13,45934:14,45935:15,45936:16,45937:17,45938:18,45939:19,45940:20,45941:21,45942:22,45943:23,45944:24,45945:25,45946:26,45947:27,45948:28,45949:29,45950:30,45951:31,45952:32,45953:33,45954:34,45955:35,45956:36,45957:37,45958:38,45959:39,45960:40,45961:41,45962:42,45963:43,45964:44,45965:45,45966:46,45967:47,45968:48,45969:49,45970:50,45971:51,45972:52,45973:53,45974:54,45975:55,45976:56,45977:57,45978:58,45979:59,45980:60,45981:61,45982:62,45983:63,45984:64,45985:65,45986:66,45987:67,45988:68,45989:69,45990:70,45991:71,45992:72,45993:73,45994:74,45995:75,45996:76,45997:77,45998:78,45999:79,46e3:80,46001:81,46002:82,46003:83,46004:84,46005:85,46006:86,46007:87,46008:88,46009:89,46010:90,46011:91,46012:92,46013:93,46014:94,46015:95,46016:96,46017:97,46018:98,46019:99,46020:100,46021:101,46022:102,46023:103,46024:104,46025:105,46026:106,46027:107,46028:108,46029:109,46030:110,46031:111,46032:112,46033:113,46034:114,46035:115,46036:116,46037:117,46038:118,46039:119,46040:120,46041:121,46042:122,46043:123,46044:124,46045:125,46046:126,46047:127,46048:128})},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(463);(e=t.exports=a).encode=function(t,e){var r=s(t);return a(r.name,n.from(r.encode(e)))},e.decode=function(t){n.isBuffer(t)&&(t=t.toString());var e=t.substring(0,1);"string"==typeof(t=t.substring(1,t.length))&&(t=n.from(t));var r=s(e);return n.from(r.decode(t.toString()))},e.isEncoded=function(t){n.isBuffer(t)&&(t=t.toString());if("[object String]"!==Object.prototype.toString.call(t))return!1;var e=t.substring(0,1);try{return s(e).name}catch(t){return!1}},e.names=Object.freeze(Object.keys(i.names)),e.codes=Object.freeze(Object.keys(i.codes));var o=new Error("Unsupported encoding");function a(t,e){if(!e)throw new Error("requires an encoded buffer");var r=s(t),i=n.from(r.code);return function(t,e){s(t).decode(e.toString())}(r.name,e),n.concat([i,e])}function s(t){var e;if(i.names[t])e=i.names[t];else{if(!i.codes[t])throw o;e=i.codes[t]}if(!e.isImplemented())throw new Error("Base "+t+" is not implemented yet");return e}},function(t,e,r){"use strict";var n=r(464),i=r(188),o=r(465),a=r(466),s=r(467),u=[["base1","1","","1"],["base2","0",i,"01"],["base8","7",i,"01234567"],["base10","9",i,"0123456789"],["base16","f",o,"0123456789abcdef"],["base32","b",a,"abcdefghijklmnopqrstuvwxyz234567"],["base32pad","c",a,"abcdefghijklmnopqrstuvwxyz234567="],["base32hex","v",a,"0123456789abcdefghijklmnopqrstuv"],["base32hexpad","t",a,"0123456789abcdefghijklmnopqrstuv="],["base32z","h",a,"ybndrfg8ejkmcpqxot1uwisza345h769"],["base58flickr","Z",i,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base58btc","z",i,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base64","m",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],f=u.reduce((function(t,e){return t[e[0]]=new n(e[0],e[1],e[2],e[3]),t}),{}),c=u.reduce((function(t,e){return t[e[1]]=f[e[0]],t}),{});t.exports={names:f,codes:c}},function(t,e,r){"use strict";var n=r(0),i=n(r(7)),o=n(r(8)),a=function(){function t(e,r,n,o){(0,i.default)(this,t),this.name=e,this.code=r,this.alphabet=o,n&&o&&(this.engine=n(o))}return(0,o.default)(t,[{key:"encode",value:function(t){return this.engine.encode(t)}},{key:"decode",value:function(t){return this.engine.decode(t)}},{key:"isImplemented",value:function(){return this.engine}}]),t}();t.exports=a},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=5;)s+=e[a>>>o-5&31],o-=5;if(o>0&&(s+=e[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}t.exports=function(t){return{encode:function(e){return o("string"==typeof e?Uint8Array.from(e):e,t)},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;if(t.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(t){i.e(t)}finally{i.f()}return function(t,e){for(var r=(t=t.replace(new RegExp("=","g"),"")).length,n=0,i=0,o=0,a=new Uint8Array(5*r/8|0),s=0;s=8&&(a[o++]=i>>>n-8&255,n-=8);return a.buffer}(e,t)}}}},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1,r=t.indexOf("-")>-1&&t.indexOf("_")>-1;return{encode:function(t){var n="";n="string"==typeof t?o.from(t).toString("base64"):t.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var i=n.indexOf("=");return i>0&&!e&&(n=n.substring(0,i)),n},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;if(t.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(t){i.e(t)}finally{i.f()}return o.from(e,"base64")}}}},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(66),o=r(469),a=r(470),s=r(189);(e=t.exports).addPrefix=function(t,e){var r;if(n.isBuffer(t))r=s.varintBufferEncode(t);else{if(!a[t])throw new Error("multicodec not recognized");r=a[t]}return n.concat([r,e])},e.rmPrefix=function(t){return i.decode(t),t.slice(i.decode.bytes)},e.getCodec=function(t){var e=i.decode(t),r=o.get(e);if(void 0===r)throw new Error("Code ".concat(e," not found"));return r},e.getName=function(t){return o.get(t)},e.getNumber=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return s.varintBufferDecode(e)[0]},e.getCode=function(t){return i.decode(t)},e.getCodeVarint=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return e},e.getVarint=function(t){return i.encode(t)};var u=r(471);Object.assign(e,u),e.print=r(472)},function(t,e,r){"use strict";var n=r(67),i=new Map;for(var o in n){var a=n[o];i.set(a,o)}t.exports=Object.freeze(i)},function(t,e,r){"use strict";var n=r(67),i=r(189).varintEncode,o={};for(var a in n){var s=n[a];o[a]=i(s)}t.exports=Object.freeze(o)},function(t,e,r){"use strict";for(var n=r(0)(r(36)),i=r(67),o={},a=0,s=Object.entries(i);a=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0){var c,d="Signer Error: ",l=h(f);try{for(l.s();!(c=l.n()).done;){var p=c.value;d+="".concat(d," ").concat(p,".")}}catch(t){l.e(t)}finally{l.f()}throw new Error(d)}var m="0x"+u.serialize().toString("hex"),b=w.keccak256(m),v={messageHash:"0x"+n.from(u.getMessageToSign(!0)).toString("hex"),v:"0x"+n.from(u.v).toString("hex"),r:"0x"+n.from(u.r).toString("hex"),s:"0x"+n.from(u.s).toString("hex"),rawTransaction:m,transactionHash:b};return r(null,v),v}catch(t){return r(t),Promise.reject(t)}}return t.type=function(t){var e,r=void 0!==t.maxFeePerGas||void 0!==t.maxPriorityFeePerGas;e=void 0!==t.type?w.toHex(t.type):void 0===t.type&&r?"0x2":"0x0";if(void 0!==t.gasPrice&&("0x2"===e||r))throw Error("eip-1559 transactions don't support gasPrice");if(("0x1"===e||"0x0"===e)&&r)throw Error("pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas");r||t.common&&t.common.hardfork&&t.common.hardfork.toLowerCase()===S.London||t.hardfork&&t.hardfork.toLowerCase()===S.London?e="0x2":(t.accessList||t.common&&t.common.hardfork&&t.common.hardfork.toLowerCase()===S.Berlin||t.hardfork&&t.hardfork.toLowerCase()===S.Berlin)&&(e="0x1");return e}(t),void 0!==t.nonce&&void 0!==t.chainId&&(void 0!==t.gasPrice||void 0!==t.maxFeePerGas&&void 0!==t.maxPriorityFeePerGas)&&a?Promise.resolve(s(t)):Promise.all([A(t.chainId)?this._ethereumCall.getChainId():t.chainId,A(t.nonce)?this._ethereumCall.getTransactionCount(this.privateKeyToAccount(e).address):t.nonce,A(a)?this._ethereumCall.getNetworkId():1,E(this,t)]).then((function(e){if(A(e[0])||A(e[1])||A(e[2])||A(e[3]))throw new Error('One of the values "chainId", "networkId", "gasPrice", or "nonce" couldn\'t be fetched: '+JSON.stringify(e));return s(c(c({},t),{},{chainId:e[0],nonce:e[1],networkId:e[2]},e[3]))}))},x.prototype.recoverTransaction=function(t){var e=n.from(t.slice(2),"hex"),r=M.fromSerializedData(e);return w.toChecksumAddress(r.getSenderAddress().toString("hex"))},x.prototype.hashMessage=function(t){var e=w.isHexStrict(t)?t:w.utf8ToHex(t),r=w.hexToBytes(e),i=n.from(r),o="Ethereum Signed Message:\n"+r.length,a=n.from(o),s=n.concat([a,i]);return b.keccak256s(s)},x.prototype.sign=function(t,e){if(e.startsWith("0x")||(e="0x"+e),66!==e.length)throw new Error("Private key must be 32 bytes long");var r=this.hashMessage(t),n=m.sign(r,e),i=m.decodeSignature(n);return{message:t,messageHash:r,v:i[0],r:i[1],s:i[2],signature:n}},x.prototype.recover=function(t,e,r){var n=[].slice.apply(arguments);return t&&"object"===(0,a.default)(t)?this.recover(t.messageHash,m.encodeSignature([t.v,t.r,t.s]),!0):(r||(t=this.hashMessage(t)),n.length>=4?(r="boolean"==typeof(r=n.slice(-1)[0])&&!!r,this.recover(t,m.encodeSignature(n.slice(1,4)),r)):m.recover(t,e))},x.prototype.decrypt=function(t,e,r){if("string"!=typeof e)throw new Error("No password given.");var i,s,u=t&&"object"===(0,a.default)(t)?t:JSON.parse(r?t.toLowerCase():t);if(3!==u.version)throw new Error("Not a valid V3 wallet");if("scrypt"===u.crypto.kdf)s=u.crypto.kdfparams,i=y.syncScrypt(n.from(e),n.from(s.salt,"hex"),s.n,s.r,s.p,s.dklen);else{if("pbkdf2"!==u.crypto.kdf)throw new Error("Unsupported key derivation scheme");if("hmac-sha256"!==(s=u.crypto.kdfparams).prf)throw new Error("Unsupported parameters to PBKDF2");i=v.pbkdf2Sync(n.from(e),n.from(s.salt,"hex"),s.c,s.dklen,"sha256")}var f=n.from(u.crypto.ciphertext,"hex");if(w.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(f)))).replace("0x","")!==u.crypto.mac)throw new Error("Key derivation failed - possibly wrong password");var c=v.createDecipheriv(u.crypto.cipher,i.slice(0,16),n.from(u.crypto.cipherparams.iv,"hex")),h="0x"+n.from([].concat((0,o.default)(c.update(f)),(0,o.default)(c.final()))).toString("hex");return this.privateKeyToAccount(h,!0)},x.prototype.encrypt=function(t,e,r){var i,a=this.privateKeyToAccount(t,!0),s=(r=r||{}).salt||v.randomBytes(32),u=r.iv||v.randomBytes(16),f=r.kdf||"scrypt",c={dklen:r.dklen||32,salt:s.toString("hex")};if("pbkdf2"===f)c.c=r.c||262144,c.prf="hmac-sha256",i=v.pbkdf2Sync(n.from(e),n.from(c.salt,"hex"),c.c,c.dklen,"sha256");else{if("scrypt"!==f)throw new Error("Unsupported kdf");c.n=r.n||8192,c.r=r.r||8,c.p=r.p||1,i=y.syncScrypt(n.from(e),n.from(c.salt,"hex"),c.n,c.r,c.p,c.dklen)}var h=v.createCipheriv(r.cipher||"aes-128-ctr",i.slice(0,16),u);if(!h)throw new Error("Unsupported cipher");var d=n.from([].concat((0,o.default)(h.update(n.from(a.privateKey.replace("0x",""),"hex"))),(0,o.default)(h.final()))),l=w.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(d)))).replace("0x","");return{version:3,id:g.v4({random:r.uuid||v.randomBytes(16)}),address:a.address.toLowerCase().replace("0x",""),crypto:{ciphertext:d.toString("hex"),cipherparams:{iv:u.toString("hex")},cipher:r.cipher||"aes-128-ctr",kdf:f,kdfparams:c,mac:l.toString("hex")}}},P.prototype._findSafeIndex=function(t){return t=t||0,this.hasOwnProperty(t)?this._findSafeIndex(t+1):t},P.prototype._currentIndexes=function(){return Object.keys(this).map((function(t){return parseInt(t)})).filter((function(t){return t<9e20}))},P.prototype.create=function(t,e){for(var r=0;r7?t[n+2].toUpperCase():t[n+2];return r},d=function(t){var r=new e(t.slice(2),"hex"),n="0x"+s.keyFromPrivate(r).getPublic(!1,"hex").slice(2),i=f(n);return{address:h("0x"+i.slice(-40)),privateKey:t}},l=function(t){var e=(0,n.default)(t,3),r=e[0],o=e[1],a=e[2];return i.flatten([o,a,r])},p=function(t){return[i.slice(64,i.length(t),t),i.slice(0,32,t),i.slice(32,64,t)]},m=function(t){return function(r,n){var a=s.keyFromPrivate(new e(n.slice(2),"hex")).sign(new e(r.slice(2),"hex"),{canonical:!0});return l([o.fromString(i.fromNumber(t+a.recoveryParam)),i.pad(32,i.fromNat("0x"+a.r.toString(16))),i.pad(32,i.fromNat("0x"+a.s.toString(16)))])}},b=m(27);t.exports={create:function(t){var e=f(i.concat(i.random(32),t||i.random(32))),r=i.concat(i.concat(i.random(32),e),i.random(32)),n=f(r);return d(n)},toChecksum:h,fromPrivate:d,sign:b,makeSigner:m,recover:function(t,r){var n=p(r),o={v:i.toNumber(n[0]),r:n[1].slice(2),s:n[2].slice(2)},a="0x"+s.recoverPubKey(new e(t.slice(2),"hex"),o,o.v<2?o.v:1-o.v%2).encode("hex",!1).slice(2),u=f(a);return h("0x"+u.slice(-40))},encodeSignature:l,decodeSignature:p}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=function(t,e){for(var r=[],n=0;n */var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";(e=t.exports=r(193)).Stream=e,e.Readable=e,e.Writable=r(197),e.Duplex=r(52),e.Transform=r(198),e.PassThrough=r(492),e.finished=r(108),e.pipeline=r(493)},function(t,e){},function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return a.alloc(0);for(var e,r,n,i=a.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=i,n=s,a.prototype.copy.call(e,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=a.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:u,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&a.forEach(f),o||(a.forEach(f),i(n))}))}));return e.reduce(c)}},function(t,e,r){"use strict";var n=r(3),i=r(53),o=r(4).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function f(t){return t<<30|t>>>2}function c(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var d=0;d<80;++d){var l=~~(d/20),p=0|((e=n)<<5|e>>>27)+c(l,i,o,s)+u+r[d]+a[l];u=s,s=o,o=f(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(53),o=r(4).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function f(t){return t<<5|t>>>27}function c(t){return t<<30|t>>>2}function h(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,d=0;d<16;++d)r[d]=t.readInt32BE(4*d);for(;d<80;++d)r[d]=(e=r[d-3]^r[d-8]^r[d-14]^r[d-16])<<1|e>>>31;for(var l=0;l<80;++l){var p=~~(l/20),m=f(n)+h(p,i,o,s)+u+r[l]+a[p]|0;u=s,s=o,o=c(i),i=n,n=m}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(199),o=r(53),a=r(4).Buffer,s=new Array(64);function u(){this.init(),this._w=s,o.call(this,64,56)}n(u,i),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(200),o=r(53),a=r(4).Buffer,s=new Array(160);function u(){this.init(),this._w=s,o.call(this,128,112)}n(u,i),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(4).Buffer,o=r(31),a=i.alloc(128);function s(t,e){o.call(this,"digest"),"string"==typeof e&&(e=i.from(e)),this._alg=t,this._key=e,e.length>64?e=t(e):e.length<64&&(e=i.concat([e,a],64));for(var r=this._ipad=i.allocUnsafe(64),n=this._opad=i.allocUnsafe(64),s=0;s<64;s++)r[s]=54^e[s],n[s]=92^e[s];this._hash=[r]}n(s,o),s.prototype._update=function(t){this._hash.push(t)},s.prototype._final=function(){var t=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,t]))},t.exports=s},function(t,e,r){"use strict";t.exports=r(203)},function(t,e,r){"use strict";(function(e){var n,i,o=r(4).Buffer,a=r(205),s=r(206),u=r(207),f=r(208),c=e.crypto&&e.crypto.subtle,h={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function l(){return i||(i=e.process&&e.process.nextTick?e.process.nextTick:e.queueMicrotask?e.queueMicrotask:e.setImmediate?e.setImmediate:e.setTimeout)}function p(t,e,r,n,i){return c.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return c.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:i}},t,n<<3)})).then((function(t){return o.from(t)}))}t.exports=function(t,r,i,m,b,v){"function"==typeof b&&(v=b,b=void 0);var y=h[(b=b||"sha1").toLowerCase()];if(y&&"function"==typeof e.Promise){if(a(i,m),t=f(t,s,"Password"),r=f(r,s,"Salt"),"function"!=typeof v)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){l()((function(){e(null,t)}))}),(function(t){l()((function(){e(t)}))}))}(function(t){if(e.process&&!e.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==d[t])return d[t];var r=p(n=n||o.alloc(8),n,10,128,t).then((function(){return!0})).catch((function(){return!1}));return d[t]=r,r}(y).then((function(e){return e?p(t,r,i,m,y):u(t,r,i,m,b)})),v)}else l()((function(){var e;try{e=u(t,r,i,m,b)}catch(t){return v(t)}v(null,e)}))}}).call(this,r(6))},function(t,e,r){"use strict";var n=r(502),i=r(112),o=r(113),a=r(515),s=r(84);function u(t,e,r){if(t=t.toLowerCase(),o[t])return i.createCipheriv(t,e,r);if(a[t])return new n({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function f(t,e,r){if(t=t.toLowerCase(),o[t])return i.createDecipheriv(t,e,r);if(a[t])return new n({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!a[t])throw new TypeError("invalid suite type");r=8*a[t].key,n=a[t].iv}var i=s(e,!1,r,n);return u(t,i.key,i.iv)},e.createCipheriv=e.Cipheriv=u,e.createDecipher=e.Decipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!a[t])throw new TypeError("invalid suite type");r=8*a[t].key,n=a[t].iv}var i=s(e,!1,r,n);return f(t,i.key,i.iv)},e.createDecipheriv=e.Decipheriv=f,e.listCiphers=e.getCiphers=function(){return Object.keys(a).concat(i.getCiphers())}},function(t,e,r){"use strict";var n=r(31),i=r(503),o=r(3),a=r(4).Buffer,s={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function u(t){n.call(this);var e,r=t.mode.toLowerCase(),i=s[r];e=t.decrypt?"decrypt":"encrypt";var o=t.key;a.isBuffer(o)||(o=a.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=a.concat([o,o.slice(0,8)]));var u=t.iv;a.isBuffer(u)||(u=a.from(u)),this._des=i.create({key:o,iv:u,type:e})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],t.exports=u,o(u,n),u.prototype._update=function(t){return a.from(this._des.update(t))},u.prototype._final=function(){return a.from(this._des.final())}},function(t,e,r){"use strict";e.utils=r(209),e.Cipher=r(111),e.DES=r(210),e.CBC=r(504),e.EDE=r(505)},function(t,e,r){"use strict";var n=r(20),i=r(3),o={};function a(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;++r>a%8,t._prev=o(t._prev,r?n:i);return s}function o(t,e){var r=t.length,i=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++i>7;return o}e.encrypt=function(t,e,r){for(var o=e.length,a=n.allocUnsafe(o),s=-1;++s>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function a(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},a.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},a.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,t,0,e])),this.state},t.exports=a},function(t,e,r){"use strict";var n=r(214),i=r(4).Buffer,o=r(113),a=r(215),s=r(31),u=r(83),f=r(84);function c(t,e,r){s.call(this),this._cache=new h,this._last=void 0,this._cipher=new u.AES(e),this._prev=i.from(r),this._mode=t,this._autopadding=!0}function h(){this.cache=i.allocUnsafe(0)}function d(t,e,r){var s=o[t.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=i.from(e)),e.length!==s.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===s.type?new a(s.module,e,r,!0):"auth"===s.type?new n(s.module,e,r,!0):new c(s.module,e,r)}r(3)(c,s),c.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),n.push(r);return i.concat(n)},c.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var r=o[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=f(e,!1,r.key,r.iv);return d(t,n.key,n.iv)},e.createDecipheriv=d},function(t,e,r){"use strict";e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},function(t,e,r){"use strict";(function(t){var n=r(216),i=r(518),o=r(519);var a={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(e){var r=new t(i[e].prime,"hex"),n=new t(i[e].gen,"hex");return new o(r,n)},e.createDiffieHellman=e.DiffieHellman=function e(r,i,s,u){return t.isBuffer(i)||void 0===a[i]?e(r,"binary",i,s):(i=i||"binary",u=u||"binary",s=s||new t([2]),t.isBuffer(s)||(s=new t(s,u)),"number"==typeof r?new o(n(r,s),s,!0):(t.isBuffer(r)||(r=new t(r,i)),new o(r,s,!0)))}}).call(this,r(1).Buffer)},function(t,e){},function(t){t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(t,e,r){"use strict";(function(e){var n=r(9),i=new(r(217)),o=new n(24),a=new n(11),s=new n(10),u=new n(3),f=new n(7),c=r(216),h=r(29);function d(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._pub=new n(t),this}function l(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._priv=new n(t),this}t.exports=m;var p={};function m(t,e,r){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=l):this._primeCode=8}function b(t,r){var n=new e(t.toArray());return r?n.toString(r):n}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),n=[r,t.toString(16)].join("_");if(n in p)return p[n];var h,d=0;if(t.isEven()||!c.simpleSieve||!c.fermatTest(t)||!i.test(t))return d+=1,d+="02"===r||"05"===r?8:4,p[n]=d,d;switch(i.test(t.shrn(1))||(d+=2),r){case"02":t.mod(o).cmp(a)&&(d+=8);break;case"05":(h=t.mod(s)).cmp(u)&&h.cmp(f)&&(d+=8);break;default:d+=4}return p[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(h(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(t){var r=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new e(r.toArray()),o=this.getPrime();if(i.length0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return a.alloc(0);for(var e,r,n,i=a.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=i,n=s,a.prototype.copy.call(e,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=a.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:u,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&a.forEach(f),o||(a.forEach(f),i(n))}))}));return e.reduce(c)}},function(t,e,r){"use strict";var n=r(115).Buffer,i=r(201),o=r(117),a=r(69).ec,s=r(226),u=r(86),f=r(232);function c(t,e,r,o){if((t=n.from(t.toArray())).length0&&r.ishrn(n),r}function d(t,e,r){var o,a;do{for(o=n.alloc(0);8*o.length=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(t){a.prototype.inspect=d}else a.prototype.inspect=d;function d(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?l[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var d=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?d+r:l[f-d.length]+d+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,d=Math.min(f,e.length-1),l=Math.max(0,f-t.length+1);l<=d;l++){var p=f-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,M=0|a[4],k=8191&M,S=M>>>13,A=0|a[5],x=8191&A,E=A>>>13,P=0|a[6],B=8191&P,O=P>>>13,R=0|a[7],T=8191&R,I=R>>>13,C=0|a[8],N=8191&C,U=C>>>13,j=0|a[9],L=8191&j,D=j>>>13,F=0|s[0],q=8191&F,H=F>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(d,q)|0))<<13)|0;f=((o=Math.imul(d,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,K)|0))<<13)|0;f=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,W)|0))<<13)|0;f=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;f=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(k,q),i=(i=Math.imul(k,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;f=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;f=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,H))+Math.imul(O,q)|0,o=Math.imul(O,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;f=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,q),i=(i=Math.imul(T,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var kt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(d,ut)|0))<<13)|0;f=((o=o+Math.imul(d,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,q),i=(i=Math.imul(N,H))+Math.imul(U,q)|0,o=Math.imul(U,H),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(B,W)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;f=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(D,q)|0,o=Math.imul(D,H),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(U,K)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;f=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(D,K)|0,o=Math.imul(D,G),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,Z)|0)+Math.imul(U,W)|0,o=o+Math.imul(U,Z)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(D,W)|0,o=Math.imul(D,Z),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,Y)|0)+Math.imul(U,X)|0,o=o+Math.imul(U,Y)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(D,X)|0,o=Math.imul(D,Y),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(k,ht)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var Pt=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(D,Q)|0,o=Math.imul(D,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ft)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Bt=(f+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Ot=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(D,ot)|0,o=Math.imul(D,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ft)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Rt=(f+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(O,pt)|0))<<13)|0;f=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(D,ut)|0,o=Math.imul(D,ft),n=n+Math.imul(N,ht)|0,i=(i=i+Math.imul(N,dt)|0)+Math.imul(U,ht)|0,o=o+Math.imul(U,dt)|0;var Tt=(f+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,dt))+Math.imul(D,ht)|0,o=Math.imul(D,dt);var It=(f+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(U,pt)|0))<<13)|0;f=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return f=((o=Math.imul(D,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=kt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Pt,u[13]=Bt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function M(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){M.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){M.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){M.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){M.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function P(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}M.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},M.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},M.prototype.split=function(t,e){t.iushrn(this.n,0,e)},M.prototype.imulK=function(t){return t.imul(this.k)},o(k,M),k.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),d=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),p=o;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new P(t)},o(P,E),P.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},P.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},P.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},P.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(16)(t))},function(t,e){},function(t){t.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')},function(t,e,r){"use strict";var n=r(21),i=r(9),o=r(3),a=r(85),s=n.assert;function u(t){a.call(this,"short",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function f(t,e,r,n){a.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(e,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function c(t,e,r,n){a.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(e,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new i(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)r=new i(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?r=o[0]:(r=o[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new i(t.a,16),b:new i(t.b,16)}})):this._getEndoBasis(r)}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:i.mont(t),r=new i(2).toRed(e).redInvm(),n=r.redNeg(),o=new i(3).toRed(e).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(t){for(var e,r,n,o,a,s,u,f,c,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=t,l=this.n.clone(),p=new i(1),m=new i(0),b=new i(0),v=new i(1),y=0;0!==d.cmpn(0);){var g=l.div(d);f=l.sub(g.mul(d)),c=b.sub(g.mul(p));var w=v.sub(g.mul(m));if(!n&&f.cmp(h)<0)e=u.neg(),r=p,n=f.neg(),o=c;else if(n&&2==++y)break;u=f,l=d,d=f,b=p,p=c,v=m,m=w}a=f.neg(),s=c;var _=n.sqr().add(o.sqr());return a.sqr().add(s.sqr()).cmp(_)>=0&&(a=e,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),f=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:u.add(f).neg()}},u.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(e&&!o||!e&&o)&&(n=n.redNeg()),this.point(t,n)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},f.prototype.isInfinity=function(){return this.inf},f.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},f.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},f.prototype.getX=function(){return this.x.fromRed()},f.prototype.getY=function(){return this.y.fromRed()},f.prototype.mul=function(t){return t=new i(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},f.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},f.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},f.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},f.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(c,a.BasePoint),u.prototype.jpoint=function(t,e,r){return new c(this,t,e,r)},c.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},c.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},c.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=s.redSqr(),c=f.redMul(s),h=n.redMul(f),d=u.redSqr().redIAdd(c).redISub(h).redISub(h),l=u.redMul(h.redISub(d)).redISub(o.redMul(c)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(d,l,p)},c.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),c=r.redMul(u),h=s.redSqr().redIAdd(f).redISub(c).redISub(c),d=s.redMul(c.redISub(h)).redISub(i.redMul(f)),l=this.z.redMul(a);return this.curve.jpoint(h,d,l)},c.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(t,e,r){"use strict";var n=r(9),i=r(3),o=r(85),a=r(21);function s(t){o.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,r){o.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(s,o),t.exports=s,s.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},i(u,o.BasePoint),s.prototype.decodePoint=function(t,e){return this.point(a.toArray(t,e),1)},s.prototype.point=function(t,e){return new u(this,t,e)},s.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),a=i.redMul(n),s=e.z.redMul(o.redAdd(a).redSqr()),u=e.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,u)},u.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(t,e,r){"use strict";var n=r(21),i=r(9),o=r(3),a=r(85),s=n.assert;function u(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,a.call(this,"edwards",t),this.a=new i(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function f(t,e,r,n,o){a.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(e,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,a),t.exports=u,u.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},u.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},u.prototype.jpoint=function(t,e,r,n){return this.point(t,e,r,n)},u.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=n.redMul(o.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var u=s.fromRed().isOdd();return(e&&!u||!e&&u)&&(s=s.redNeg()),this.point(t,s)},u.prototype.pointFromY=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=n.redMul(o.redInvm());if(0===a.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},u.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),n=e.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===n.cmp(i)},o(f,a.BasePoint),u.prototype.pointFromJSON=function(t){return f.fromJSON(this,t)},u.prototype.point=function(t,e,r,n){return new f(this,t,e,r,n)},f.fromJSON=function(t,e){return new f(t,e[0],e[1],e[2])},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},f.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),a=o.redSub(r),s=n.redSub(e),u=i.redMul(a),f=o.redMul(s),c=i.redMul(s),h=a.redMul(o);return this.curve.point(u,f,h,c)},f.prototype._projDbl=function(){var t,e,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var f=(n=this.curve._mulA(s)).redAdd(u);this.zOne?(t=a.redSub(s).redSub(u).redMul(f.redSub(this.curve.two)),e=f.redMul(n.redSub(u)),r=f.redSqr().redSub(f).redSub(f)):(i=this.z.redSqr(),o=f.redSub(i).redISub(i),t=a.redSub(s).redISub(u).redMul(o),e=f.redMul(n.redSub(u)),r=f.redMul(o))}else n=s.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),t=this.curve._mulC(a.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(s.redISub(u)),r=n.redMul(o);return this.curve.point(t,e,r)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},f.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=i.redSub(n),s=i.redAdd(n),u=r.redAdd(e),f=o.redMul(a),c=s.redMul(u),h=o.redMul(u),d=a.redMul(s);return this.curve.point(f,c,d,h)},f.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),u=i.redSub(s),f=i.redAdd(s),c=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),h=n.redMul(u).redMul(c);return this.curve.twisted?(e=n.redMul(f).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(f)):(e=n.redMul(f).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(f)),this.curve.point(h,e,r)},f.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},f.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},f.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},f.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},f.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()},f.prototype.getY=function(){return this.normalize(),this.y.fromRed()},f.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},f.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},f.prototype.toP=f.prototype.normalize,f.prototype.mixedAdd=f.prototype.add},function(t,e,r){"use strict";t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(9),o=r(538),a=r(21),s=r(118),u=r(114),f=a.assert,c=r(539),h=r(540);function d(t){if(!(this instanceof d))return new d(t);"string"==typeof t&&(f(Object.prototype.hasOwnProperty.call(s,t),"Unknown curve "+t),t=s[t]),t instanceof s.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=d,d.prototype.keyPair=function(t){return new c(this,t)},d.prototype.keyFromPrivate=function(t,e){return c.fromPrivate(this,t,e)},d.prototype.keyFromPublic=function(t,e){return c.fromPublic(this,t,e)},d.prototype.genKeyPair=function(t){t||(t={});for(var e=new o({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||u(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new i(2));;){var a=new i(e.generate(r));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}},d.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},d.prototype.sign=function(t,e,r,a){"object"===(0,n.default)(r)&&(a=r,r=null),a||(a={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new i(t,16));for(var s=this.n.byteLength(),u=e.getPrivate().toArray("be",s),f=t.toArray("be",s),c=new o({hash:this.hash,entropy:u,nonce:f,pers:a.pers,persEnc:a.persEnc||"utf8"}),d=this.n.sub(new i(1)),l=0;;l++){var p=a.k?a.k(l):new i(c.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(d)>=0)){var m=this.g.mul(p);if(!m.isInfinity()){var b=m.getX(),v=b.umod(this.n);if(0!==v.cmpn(0)){var y=p.invm(this.n).mul(v.mul(e.getPrivate()).iadd(t));if(0!==(y=y.umod(this.n)).cmpn(0)){var g=(m.getY().isOdd()?1:0)|(0!==b.cmp(v)?2:0);return a.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),g^=1),new h({r:v,s:y,recoveryParam:g})}}}}}},d.prototype.verify=function(t,e,r,n){t=this._truncateToN(new i(t,16)),r=this.keyFromPublic(r,n);var o=(e=new h(e,"hex")).r,a=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,u=a.invm(this.n),f=u.mul(t).umod(this.n),c=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(f,r.getPublic(),c)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(f,r.getPublic(),c)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},d.prototype.recoverPubKey=function(t,e,r,n){f((3&r)===r,"The recovery param is more than two bits"),e=new h(e,n);var o=this.n,a=new i(t),s=e.r,u=e.s,c=1&r,d=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");s=d?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var l=e.r.invm(o),p=o.sub(a).mul(l).umod(o),m=u.mul(l).umod(o);return this.g.mulAdd(p,s,m)},d.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},function(t,e,r){"use strict";var n=r(78),i=r(224),o=r(20);function a(t){if(!(this instanceof a))return new a(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=i.toArray(t.entropy,t.entropyEnc||"hex"),r=i.toArray(t.nonce,t.nonceEnc||"hex"),n=i.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}t.exports=a,a.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},a.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length"}},function(t,e,r){"use strict";var n=r(9),i=r(21),o=i.assert;function a(t,e){if(t instanceof a)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function s(){this.place=0}function u(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function f(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=a,a.prototype._importDER=function(t,e){t=i.toArray(t,e);var r=new s;if(48!==t[r.place++])return!1;var o=u(t,r);if(!1===o)return!1;if(o+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var a=u(t,r);if(!1===a)return!1;var f=t.slice(r.place,a+r.place);if(r.place+=a,2!==t[r.place++])return!1;var c=u(t,r);if(!1===c)return!1;if(t.length!==c+r.place)return!1;var h=t.slice(r.place,c+r.place);if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new n(f),this.s=new n(h),this.recoveryParam=null,!0},a.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=f(e),r=f(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];c(n,e.length),(n=n.concat(e)).push(2),c(n,r.length);var o=n.concat(r),a=[48];return c(a,o.length),a=a.concat(o),i.encode(a,t)}},function(t,e,r){"use strict";var n=r(78),i=r(118),o=r(21),a=o.assert,s=o.parseBytes,u=r(542),f=r(543);function c(t){if(a("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof c))return new c(t);t=i[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=c,c.prototype.sign=function(t,e){t=s(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),u=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},c.prototype.verify=function(t,e,r){t=s(t),e=this.makeSignature(e);var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},c.prototype.hashInt=function(){for(var t=this.hash(),e=0;e=e)throw new Error("invalid sig")}t.exports=function(t,e,r,f,c){var h=a(r);if("ec"===h.type){if("ecdsa"!==f&&"ecdsa/rsa"!==f)throw new Error("wrong public key type");return function(t,e,r){var n=s[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new o(n),a=r.data.subjectPrivateKey.data;return i.verify(e,t,a)}(t,e,h)}if("dsa"===h.type){if("dsa"!==f)throw new Error("wrong public key type");return function(t,e,r){var n=r.data.p,o=r.data.q,s=r.data.g,f=r.data.pub_key,c=a.signature.decode(t,"der"),h=c.s,d=c.r;u(h,o),u(d,o);var l=i.mont(n),p=h.invm(o);return 0===s.toRed(l).redPow(new i(e).mul(p).mod(o)).fromRed().mul(f.toRed(l).redPow(d.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(d)}(t,e,h)}if("rsa"!==f&&"ecdsa/rsa"!==f)throw new Error("wrong public key type");e=n.concat([c,e]);for(var d=h.modulus.byteLength(),l=[1],p=0;e.length+l.length+2r-d-2)throw new Error("message too long");var l=h.alloc(r-n-d-2),p=r-c-1,m=i(c),b=s(h.concat([f,l,h.alloc(1,1),e],p),a(m,p)),v=s(m,a(b,c));return new u(h.concat([h.alloc(1),v,b],r))}(p,e);else if(1===d)l=function(t,e,r){var n,o=e.length,a=t.modulus.byteLength();if(o>a-11)throw new Error("message too long");n=r?h.alloc(a-o-3,255):function(t){var e,r=h.allocUnsafe(t),n=0,o=i(2*t),a=0;for(;n=0)throw new Error("data too long for modulus")}return r?c(l,p):f(l,p)}},function(t,e,r){"use strict";var n=r(86),i=r(233),o=r(234),a=r(9),s=r(117),u=r(50),f=r(235),c=r(4).Buffer;t.exports=function(t,e,r){var h;h=t.padding?t.padding:r?1:4;var d,l=n(t),p=l.modulus.byteLength();if(e.length>p||new a(e).cmp(l.modulus)>=0)throw new Error("decryption error");d=r?f(new a(e),l):s(e,l);var m=c.alloc(p-d.length);if(d=c.concat([m,d],p),4===h)return function(t,e){var r=t.modulus.byteLength(),n=u("sha1").update(c.alloc(0)).digest(),a=n.length;if(0!==e[0])throw new Error("decryption error");var s=e.slice(1,a+1),f=e.slice(a+1),h=o(s,i(f,a)),d=o(f,i(h,r-a-1));if(function(t,e){t=c.from(t),e=c.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));var i=-1;for(;++i=e.length){o++;break}var a=e.slice(2,i-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++;a.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(i)}(0,d,r);if(3===h)return d;throw new Error("unknown padding")}},function(t,e,r){"use strict";(function(t,n){function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(4),a=r(29),s=o.Buffer,u=o.kMaxLength,f=t.crypto||t.msCrypto,c=Math.pow(2,32)-1;function h(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>c||t<0)throw new TypeError("offset must be a uint32");if(t>u||t>e)throw new RangeError("offset out of range")}function d(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>c||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>u)throw new RangeError("buffer too small")}function l(t,e,r,i){if(n.browser){var o=t.buffer,s=new Uint8Array(o,e,r);return f.getRandomValues(s),i?void n.nextTick((function(){i(null,t)})):t}if(!i)return a(r).copy(t,e),t;a(r,(function(r,n){if(r)return i(r);n.copy(t,e),i(null,t)}))}f&&f.getRandomValues||!n.browser?(e.randomFill=function(e,r,n,i){if(!(s.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)i=r,r=0,n=e.length;else if("function"==typeof n)i=n,n=e.length-r;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return h(r,e.length),d(n,r,e.length),l(e,r,n,i)},e.randomFillSync=function(e,r,n){void 0===r&&(r=0);if(!(s.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');h(r,e.length),void 0===n&&(n=e.length-r);return d(n,r,e.length),l(e,r,n)}):(e.randomFill=i,e.randomFillSync=i)}).call(this,r(6),r(5))},function(t,e,r){"use strict";var n=r(9),i=r(191),o=function(t){return new n(t.slice(2),16)},a=function(t){var e="0x"+("0x"===t.slice(0,2)?new n(t.slice(2),16):new n(t,10)).toString("hex");return"0x0"===e?"0x":e},s=function(t){return"string"==typeof t?/^0x/.test(t)?t:"0x"+t:"0x"+new n(t).toString("hex")},u=function(t){return o(t).toNumber()},f=function(t){return function(e,r){return"0x"+o(e)[t](o(r)).toString("hex")}},c=f("add"),h=f("mul"),d=f("div"),l=f("sub");t.exports={toString:function(t){return o(t).toString(10)},fromString:a,toNumber:u,fromNumber:s,toEther:function(t){return u(d(t,a("10000000000")))/1e8},fromEther:function(t){return h(s(Math.floor(1e8*t)),a("10000000000"))},toUint256:function(t){return i.pad(32,t)},add:c,mul:h,div:d,sub:l}},function(t,e,r){"use strict";t.exports={encode:function(t){var e=function(t){return(e=t.toString(16)).length%2==0?e:"0"+e;var e},r=function(t,r){return t<56?e(r+t):e(r+e(t).length/2+55)+e(t)};return"0x"+function t(e){if("string"==typeof e){var n=e.slice(2);return(2!=n.length||n>="80"?r(n.length/2,128):"")+n}var i=e.map(t).join("");return r(i.length/2,192)+i}(t)},decode:function(t){var e=2,r=function(){if(e>=t.length)throw"";var r=t.slice(e,e+2);return r<"80"?(e+=2,"0x"+r):r<"c0"?i():o()},n=function(){var r=parseInt(t.slice(e,e+=2),16)%64;return r<56?r:parseInt(t.slice(e,e+=2*(r-55)),16)},i=function(){var r=n();return"0x"+t.slice(e,e+=2*r)},o=function(){for(var t=2*n()+e,i=[];e=64;){var l=r,p=n,m=i,b=o,v=a,y=s,g=u,w=f,_=void 0,M=void 0,k=void 0,S=void 0,A=void 0;for(M=0;M<16;M++)k=h+4*M,c[M]=(255&t[k])<<24|(255&t[k+1])<<16|(255&t[k+2])<<8|255&t[k+3];for(M=16;M<64;M++)S=((_=c[M-2])>>>17|_<<15)^(_>>>19|_<<13)^_>>>10,A=((_=c[M-15])>>>7|_<<25)^(_>>>18|_<<14)^_>>>3,c[M]=(S+c[M-7]|0)+(A+c[M-16]|0)|0;for(M=0;M<64;M++)S=(((v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7))+(v&y^~v&g)|0)+(w+(e[M]+c[M]|0)|0)|0,A=((l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10))+(l&p^l&m^p&m)|0,w=g,g=y,y=v,v=b+S|0,b=m,m=p,p=l,l=S+A|0;r=r+l|0,n=n+p|0,i=i+m|0,o=o+b|0,a=a+v|0,s=s+y|0,u=u+g|0,f=f+w|0,h+=64,d-=64}}h(t);var d,l=t.length%64,p=t.length/536870912|0,m=t.length<<3,b=l<56?56:120,v=t.slice(t.length-l,t.length);for(v.push(128),d=l+1;d>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(m>>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),h(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,f>>>24&255,f>>>16&255,f>>>8&255,f>>>0&255]}function i(t,e,r){t=t.length<=64?t:n(t);var i,o=64+e.length+4,a=new Array(o),s=new Array(64),u=[];for(i=0;i<64;i++)a[i]=54;for(i=0;i=o-4;t--){if(a[t]++,a[t]<=255)return;a[t]=0}}for(;r>=32;)f(),u=u.concat(n(s.concat(n(a)))),r-=32;return r>0&&(f(),u=u.concat(n(s.concat(n(a))).slice(0,r))),u}function o(t,e,r,n,i){var o;for(f(t,16*(2*r-1),i,0,16),o=0;o<2*r;o++)u(t,16*o,i,16),s(i,n),f(i,0,t,e+16*o,16);for(o=0;o>>32-e}function s(t,e){f(t,0,e,0,16);for(var r=8;r>0;r-=2)e[4]^=a(e[0]+e[12],7),e[8]^=a(e[4]+e[0],9),e[12]^=a(e[8]+e[4],13),e[0]^=a(e[12]+e[8],18),e[9]^=a(e[5]+e[1],7),e[13]^=a(e[9]+e[5],9),e[1]^=a(e[13]+e[9],13),e[5]^=a(e[1]+e[13],18),e[14]^=a(e[10]+e[6],7),e[2]^=a(e[14]+e[10],9),e[6]^=a(e[2]+e[14],13),e[10]^=a(e[6]+e[2],18),e[3]^=a(e[15]+e[11],7),e[7]^=a(e[3]+e[15],9),e[11]^=a(e[7]+e[3],13),e[15]^=a(e[11]+e[7],18),e[1]^=a(e[0]+e[3],7),e[2]^=a(e[1]+e[0],9),e[3]^=a(e[2]+e[1],13),e[0]^=a(e[3]+e[2],18),e[6]^=a(e[5]+e[4],7),e[7]^=a(e[6]+e[5],9),e[4]^=a(e[7]+e[6],13),e[5]^=a(e[4]+e[7],18),e[11]^=a(e[10]+e[9],7),e[8]^=a(e[11]+e[10],9),e[9]^=a(e[8]+e[11],13),e[10]^=a(e[9]+e[8],18),e[12]^=a(e[15]+e[14],7),e[13]^=a(e[12]+e[15],9),e[14]^=a(e[13]+e[12],13),e[15]^=a(e[14]+e[13],18);for(var n=0;n<16;++n)t[n]+=e[n]}function u(t,e,r,n){for(var i=0;i=256)return!1}return!0}function h(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function d(t,r,n,a,s,d,l){if(n=h(n,"N"),a=h(a,"r"),s=h(s,"p"),d=h(d,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>2147483647/128/a)throw new Error("N too large");if(a>2147483647/128/s)throw new Error("r too large");if(!c(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!c(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);for(var p=i(t,r,128*s*a),m=new Uint32Array(32*s*a),b=0;bR&&(r=R);for(var c=0;cR&&(r=R);for(var b=0;b>0&255),p.push(m[C]>>8&255),p.push(m[C]>>16&255),p.push(m[C]>>24&255);var N=i(t,p,d);return l&&l(null,1,N),N}l&&T(e)};if(!l)for(;;){var C=I();if(null!=C)return C}I()}var l={scrypt:function(t,e,r,n,i,o,a){return new Promise((function(s,u){var f=0;a&&a(0),d(t,e,r,n,i,o,(function(t,e,r){if(t)u(t);else if(r)a&&1!==f&&a(1),s(new Uint8Array(r));else if(a&&e!==f)return f=e,a(e)}))}))},syncScrypt:function(t,e,r,n,i,o){return new Uint8Array(d(t,e,r,n,i,o))}};t.exports=l}()}).call(this,r(141).setImmediate)},function(t,e,r){"use strict";var n=r(564),i=r(565),o=i;o.v1=n,o.v4=i,t.exports=o},function(t,e,r){"use strict";var n,i,o=r(236),a=r(237),s=0,u=0;t.exports=function(t,e,r){var f=e&&r||0,c=e||[],h=(t=t||{}).node||n,d=void 0!==t.clockseq?t.clockseq:i;if(null==h||null==d){var l=o();null==h&&(h=n=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==d&&(d=i=16383&(l[6]<<8|l[7]))}var p=void 0!==t.msecs?t.msecs:(new Date).getTime(),m=void 0!==t.nsecs?t.nsecs:u+1,b=p-s+(m-u)/1e4;if(b<0&&void 0===t.clockseq&&(d=d+1&16383),(b<0||p>s)&&void 0===t.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");s=p,u=m,i=d;var v=(1e4*(268435455&(p+=122192928e5))+m)%4294967296;c[f++]=v>>>24&255,c[f++]=v>>>16&255,c[f++]=v>>>8&255,c[f++]=255&v;var y=p/4294967296*1e4&268435455;c[f++]=y>>>8&255,c[f++]=255&y,c[f++]=y>>>24&15|16,c[f++]=y>>>16&255,c[f++]=d>>>8|128,c[f++]=255&d;for(var g=0;g<6;++g)c[f+g]=h[g];return e||a(c)}},function(t,e,r){"use strict";var n=r(236),i=r(237);t.exports=function(t,e,r){var o=e&&r||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var a=(t=t||{}).random||(t.rng||n)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e)for(var s=0;s<16;++s)e[o+s]=a[s];return e||i(a)}},function(t,e,r){"use strict";(function(t){var n,i=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(e,"__esModule",{value:!0});var s=r(32),u=r(57),f=r(125),c=function(e){function r(t,r){var n;void 0===r&&(r={});var i=e.call(this,o(o({},t),{type:0}))||this;if(i.common=i._validateTxV(i.v,r.common),i.gasPrice=new s.BN(s.toBuffer(""===t.gasPrice?"0x":t.gasPrice)),i._validateCannotExceedMaxInteger({gasPrice:i.gasPrice}),i.common.gteHardfork("spuriousDragon"))if(i.isSigned()){var a=i.v,f=i.common.chainIdBN().muln(2);(a.eq(f.addn(35))||a.eq(f.addn(36)))&&i.activeCapabilities.push(u.Capability.EIP155ReplayProtection)}else i.activeCapabilities.push(u.Capability.EIP155ReplayProtection);return(null===(n=null==r?void 0:r.freeze)||void 0===n||n)&&Object.freeze(i),i}return i(r,e),r.fromTxData=function(t,e){return void 0===e&&(e={}),new r(t,e)},r.fromSerializedTx=function(t,e){void 0===e&&(e={});var r=s.rlp.decode(t);if(!Array.isArray(r))throw new Error("Invalid serialized tx input. Must be array");return this.fromValuesArray(r,e)},r.fromRlpSerializedTx=function(t,e){return void 0===e&&(e={}),r.fromSerializedTx(t,e)},r.fromValuesArray=function(t,e){if(void 0===e&&(e={}),6!==t.length&&9!==t.length)throw new Error("Invalid transaction. Only expecting 6 values (for unsigned tx) or 9 values (for signed tx).");var n=a(t,9);return new r({nonce:n[0],gasPrice:n[1],gasLimit:n[2],to:n[3],value:n[4],data:n[5],v:n[6],r:n[7],s:n[8]},e)},r.prototype.raw=function(){return[s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.gasPrice),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data,void 0!==this.v?s.bnToUnpaddedBuffer(this.v):t.from([]),void 0!==this.r?s.bnToUnpaddedBuffer(this.r):t.from([]),void 0!==this.s?s.bnToUnpaddedBuffer(this.s):t.from([])]},r.prototype.serialize=function(){return s.rlp.encode(this.raw())},r.prototype._getMessageToSign=function(){var e=[s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.gasPrice),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data];return this.supports(u.Capability.EIP155ReplayProtection)&&(e.push(s.toBuffer(this.common.chainIdBN())),e.push(s.unpadBuffer(s.toBuffer(0))),e.push(s.unpadBuffer(s.toBuffer(0)))),e},r.prototype.getMessageToSign=function(t){void 0===t&&(t=!0);var e=this._getMessageToSign();return t?s.rlphash(e):e},r.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},r.prototype.hash=function(){return s.rlphash(this.raw())},r.prototype.getMessageToVerifySignature=function(){if(!this.isSigned())throw Error("This transaction is not signed");var t=this._getMessageToSign();return s.rlphash(t)},r.prototype.getSenderPublicKey=function(){var t,e=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(t=this.s)||void 0===t?void 0:t.gt(u.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this.v,n=this.r,i=this.s;try{return s.ecrecover(e,r,s.bnToUnpaddedBuffer(n),s.bnToUnpaddedBuffer(i),this.supports(u.Capability.EIP155ReplayProtection)?this.common.chainIdBN():void 0)}catch(t){throw new Error("Invalid Signature")}},r.prototype._processSignature=function(t,e,n){var i=new s.BN(t);this.supports(u.Capability.EIP155ReplayProtection)&&i.iadd(this.common.chainIdBN().muln(2).addn(8));var o={common:this.common};return r.fromTxData({nonce:this.nonce,gasPrice:this.gasPrice,gasLimit:this.gasLimit,to:this.to,value:this.value,data:this.data,v:i,r:new s.BN(e),s:new s.BN(n)},o)},r.prototype.toJSON=function(){return{nonce:s.bnToHex(this.nonce),gasPrice:s.bnToHex(this.gasPrice),gasLimit:s.bnToHex(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:s.bnToHex(this.value),data:"0x"+this.data.toString("hex"),v:void 0!==this.v?s.bnToHex(this.v):void 0,r:void 0!==this.r?s.bnToHex(this.r):void 0,s:void 0!==this.s?s.bnToHex(this.s):void 0}},r.prototype._validateTxV=function(t,e){var r;if(void 0!==t&&!t.eqn(0)&&(!e||e.gteHardfork("spuriousDragon"))&&!t.eqn(27)&&!t.eqn(28))if(e){var n=e.chainIdBN().muln(2);if(!(t.eq(n.addn(35))||t.eq(n.addn(36))))throw new Error("Incompatible EIP155-based V "+t.toString()+" and chain id "+e.chainIdBN().toString()+". See the Common parameter of the Transaction constructor to set the chain id.")}else{var i=void 0;i=t.subn(35).isEven()?35:36,r=t.subn(i).divn(2)}return this._getCommon(e,r)},r.prototype._unsignedTxImplementsEIP155=function(){return this.common.gteHardfork("spuriousDragon")},r.prototype._signedTxImplementsEIP155=function(){if(!this.isSigned())throw Error("This transaction is not signed");var t=this.common.gteHardfork("spuriousDragon"),e=this.v,r=this.common.chainIdBN().muln(2);return(e.eq(r.addn(35))||e.eq(r.addn(36)))&&t},r}(f.BaseTransaction);e.default=c}).call(this,r(1).Buffer)},function(t,e){},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:function(t){return new Uint8Array(t)},e=arguments.length>1?arguments[1]:void 0;return"function"==typeof t&&(t=t(e)),y("output",t,e),t}function _(t){return Object.prototype.toString.call(t).slice(8,-1)}t.exports=function(t){return{contextRandomize:function(e){switch(v(null===e||e instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==e&&y("seed",e,32),t.contextRandomize(e)){case 1:throw new Error(u)}},privateKeyVerify:function(e){return y("private key",e,32),0===t.privateKeyVerify(e)},privateKeyNegate:function(e){switch(y("private key",e,32),t.privateKeyNegate(e)){case 0:return e;case 1:throw new Error(o)}},privateKeyTweakAdd:function(e,r){switch(y("private key",e,32),y("tweak",r,32),t.privateKeyTweakAdd(e,r)){case 0:return e;case 1:throw new Error(a)}},privateKeyTweakMul:function(e,r){switch(y("private key",e,32),y("tweak",r,32),t.privateKeyTweakMul(e,r)){case 0:return e;case 1:throw new Error(s)}},publicKeyVerify:function(e){return y("public key",e,[33,65]),0===t.publicKeyVerify(e)},publicKeyCreate:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("private key",e,32),g(r),n=w(n,r?33:65),t.publicKeyCreate(n,e)){case 0:return n;case 1:throw new Error(f);case 2:throw new Error(h)}},publicKeyConvert:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("public key",e,[33,65]),g(r),n=w(n,r?33:65),t.publicKeyConvert(n,e)){case 0:return n;case 1:throw new Error(c);case 2:throw new Error(h)}},publicKeyNegate:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("public key",e,[33,65]),g(r),n=w(n,r?33:65),t.publicKeyNegate(n,e)){case 0:return n;case 1:throw new Error(c);case 2:throw new Error(o);case 3:throw new Error(h)}},publicKeyCombine:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;v(Array.isArray(e),"Expected public keys to be an Array"),v(e.length>0,"Expected public keys array will have more than zero items");var o,a=n(e);try{for(a.s();!(o=a.n()).done;){var s=o.value;y("public key",s,[33,65])}}catch(t){a.e(t)}finally{a.f()}switch(g(r),i=w(i,r?33:65),t.publicKeyCombine(i,e)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(d);case 3:throw new Error(h)}},publicKeyTweakAdd:function(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("tweak",r,32),g(n),i=w(i,n?33:65),t.publicKeyTweakAdd(i,e,r)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(a)}},publicKeyTweakMul:function(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("tweak",r,32),g(n),i=w(i,n?33:65),t.publicKeyTweakMul(i,e,r)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(s)}},signatureNormalize:function(e){switch(y("signature",e,64),t.signatureNormalize(e)){case 0:return e;case 1:throw new Error(l)}},signatureExport:function(e,r){y("signature",e,64);var n={output:r=w(r,72),outputlen:72};switch(t.signatureExport(n,e)){case 0:return r.slice(0,n.outputlen);case 1:throw new Error(l);case 2:throw new Error(o)}},signatureImport:function(e,r){switch(y("signature",e),r=w(r,64),t.signatureImport(r,e)){case 0:return r;case 1:throw new Error(l);case 2:throw new Error(o)}},ecdsaSign:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;y("message",e,32),y("private key",r,32),v("Object"===_(n),"Expected options to be an Object"),void 0!==n.data&&y("options.data",n.data),void 0!==n.noncefn&&v("Function"===_(n.noncefn),"Expected options.noncefn to be a Function");var a={signature:i=w(i,64),recid:null};switch(t.ecdsaSign(a,e,r,n.data,n.noncefn)){case 0:return a;case 1:throw new Error(p);case 2:throw new Error(o)}},ecdsaVerify:function(e,r,n){switch(y("signature",e,64),y("message",r,32),y("public key",n,[33,65]),t.ecdsaVerify(e,r,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(l);case 2:throw new Error(c)}},ecdsaRecover:function(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4?arguments[4]:void 0;switch(y("signature",e,64),v("Number"===_(r)&&r>=0&&r<=3,"Expected recovery id to be a Number within interval [0, 3]"),y("message",n,32),g(i),a=w(a,i?33:65),t.ecdsaRecover(a,e,r,n)){case 0:return a;case 1:throw new Error(l);case 2:throw new Error(m);case 3:throw new Error(o)}},ecdh:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("private key",r,32),v("Object"===_(n),"Expected options to be an Object"),void 0!==n.data&&y("options.data",n.data),void 0!==n.hashfn?(v("Function"===_(n.hashfn),"Expected options.hashfn to be a Function"),void 0!==n.xbuf&&y("options.xbuf",n.xbuf,32),void 0!==n.ybuf&&y("options.ybuf",n.ybuf,32),y("output",i)):i=w(i,32),t.ecdh(i,e,r,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(b)}}}}},function(t,e,r){"use strict";var n=new(0,r(69).ec)("secp256k1"),i=n.curve,o=i.n.constructor;function a(t){var e=t[0];switch(e){case 2:case 3:return 33!==t.length?null:function(t,e){var r=new o(e);if(r.cmp(i.p)>=0)return null;var a=(r=r.toRed(i.red)).redSqr().redIMul(r).redIAdd(i.b).redSqrt();return 3===t!==a.isOdd()&&(a=a.redNeg()),n.keyPair({pub:{x:r,y:a}})}(e,t.subarray(1,33));case 4:case 6:case 7:return 65!==t.length?null:function(t,e,r){var a=new o(e),s=new o(r);if(a.cmp(i.p)>=0||s.cmp(i.p)>=0)return null;if(a=a.toRed(i.red),s=s.toRed(i.red),(6===t||7===t)&&s.isOdd()!==(7===t))return null;var u=a.redSqr().redIMul(a);return s.redSqr().redISub(u.redIAdd(i.b)).isZero()?n.keyPair({pub:{x:a,y:s}}):null}(e,t.subarray(1,33),t.subarray(33,65));default:return null}}function s(t,e){for(var r=e.encode(null,33===t.length),n=0;n=0)return 1;if(r.iadd(new o(t)),r.cmp(i.n)>=0&&r.isub(i.n),r.isZero())return 1;var n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},privateKeyTweakMul:function(t,e){var r=new o(e);if(r.cmp(i.n)>=0||r.isZero())return 1;r.imul(new o(t)),r.cmp(i.n)>=0&&(r=r.umod(i.n));var n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},publicKeyVerify:function(t){return null===a(t)?1:0},publicKeyCreate:function(t,e){var r=new o(e);return r.cmp(i.n)>=0||r.isZero()?1:(s(t,n.keyFromPrivate(e).getPublic()),0)},publicKeyConvert:function(t,e){var r=a(e);return null===r?1:(s(t,r.getPublic()),0)},publicKeyNegate:function(t,e){var r=a(e);if(null===r)return 1;var n=r.getPublic();return n.y=n.y.redNeg(),s(t,n),0},publicKeyCombine:function(t,e){for(var r=new Array(e.length),n=0;n=0)return 2;var u=n.getPublic().add(i.g.mul(r));return u.isInfinity()?2:(s(t,u),0)},publicKeyTweakMul:function(t,e,r){var n=a(e);return null===n?1:(r=new o(r)).cmp(i.n)>=0||r.isZero()?2:(s(t,n.getPublic().mul(r)),0)},signatureNormalize:function(t){var e=new o(t.subarray(0,32)),r=new o(t.subarray(32,64));return e.cmp(i.n)>=0||r.cmp(i.n)>=0?1:(1===r.cmp(n.nh)&&t.set(i.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport:function(t,e){var r=e.subarray(0,32),n=e.subarray(32,64);if(new o(r).cmp(i.n)>=0)return 1;if(new o(n).cmp(i.n)>=0)return 1;var a=t.output,s=a.subarray(4,37);s[0]=0,s.set(r,1);for(var u=33,f=0;u>1&&0===s[f]&&!(128&s[f+1]);--u,++f);if(128&(s=s.subarray(f))[0])return 1;if(u>1&&0===s[0]&&!(128&s[1]))return 1;var c=a.subarray(39,72);c[0]=0,c.set(n,1);for(var h=33,d=0;h>1&&0===c[d]&&!(128&c[d+1]);--h,++d);return 128&(c=c.subarray(d))[0]||h>1&&0===c[0]&&!(128&c[1])?1:(t.outputlen=6+u+h,a[0]=48,a[1]=t.outputlen-2,a[2]=2,a[3]=s.length,a.set(s,4),a[4+u]=2,a[5+u]=c.length,a.set(c,6+u),0)},signatureImport:function(t,e){if(e.length<8)return 1;if(e.length>72)return 1;if(48!==e[0])return 1;if(e[1]!==e.length-2)return 1;if(2!==e[2])return 1;var r=e[3];if(0===r)return 1;if(5+r>=e.length)return 1;if(2!==e[4+r])return 1;var n=e[5+r];if(0===n)return 1;if(6+r+n!==e.length)return 1;if(128&e[4])return 1;if(r>1&&0===e[4]&&!(128&e[5]))return 1;if(128&e[r+6])return 1;if(n>1&&0===e[r+6]&&!(128&e[r+7]))return 1;var a=e.subarray(4,4+r);if(33===a.length&&0===a[0]&&(a=a.subarray(1)),a.length>32)return 1;var s=e.subarray(6+r);if(33===s.length&&0===s[0]&&(s=s.slice(1)),s.length>32)throw new Error("S length is too long");var u=new o(a);u.cmp(i.n)>=0&&(u=new o(0));var f=new o(e.subarray(6+r));return f.cmp(i.n)>=0&&(f=new o(0)),t.set(u.toArrayLike(Uint8Array,"be",32),0),t.set(f.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign:function(t,e,r,a,s){if(s){var u=s;s=function(t){var n=u(e,r,null,a,t);if(!(n instanceof Uint8Array&&32===n.length))throw new Error("This is the way");return new o(n)}}var f,c=new o(r);if(c.cmp(i.n)>=0||c.isZero())return 1;try{f=n.sign(e,r,{canonical:!0,k:s,pers:a})}catch(t){return 1}return t.signature.set(f.r.toArrayLike(Uint8Array,"be",32),0),t.signature.set(f.s.toArrayLike(Uint8Array,"be",32),32),t.recid=f.recoveryParam,0},ecdsaVerify:function(t,e,r){var s={r:t.subarray(0,32),s:t.subarray(32,64)},u=new o(s.r),f=new o(s.s);if(u.cmp(i.n)>=0||f.cmp(i.n)>=0)return 1;if(1===f.cmp(n.nh)||u.isZero()||f.isZero())return 3;var c=a(r);if(null===c)return 2;var h=c.getPublic();return n.verify(e,s,h)?0:3},ecdsaRecover:function(t,e,r,a){var u,f={r:e.slice(0,32),s:e.slice(32,64)},c=new o(f.r),h=new o(f.s);if(c.cmp(i.n)>=0||h.cmp(i.n)>=0)return 1;if(c.isZero()||h.isZero())return 2;try{u=n.recoverPubKey(a,f,r)}catch(t){return 2}return s(t,u),0},ecdh:function(t,e,r,s,u,f,c){var h=a(e);if(null===h)return 1;var d=new o(r);if(d.cmp(i.n)>=0||d.isZero())return 2;var l=h.getPublic().mul(d);if(void 0===u)for(var p=l.encode(null,!0),m=n.hash().update(p).digest(),b=0;b<32;++b)t[b]=m[b];else{f||(f=new Uint8Array(32));for(var v=l.getX().toArray("be",32),y=0;y<32;++y)f[y]=v[y];c||(c=new Uint8Array(32));for(var g=l.getY().toArray("be",32),w=0;w<32;++w)c[w]=g[w];var _=u(f,c,s);if(!(_ instanceof Uint8Array&&_.length===t.length))return 2;t.set(_)}return 0}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(29);e.getRandomBytes=function(t){return new Promise((function(e,r){n(t,(function(t,n){t?r(t):e(n)}))}))},e.getRandomBytesSync=function(t){return n(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(572),i=r(573);e.keccak224=n.createHashFunction((function(){return i("keccak224")})),e.keccak256=n.createHashFunction((function(){return i("keccak256")})),e.keccak384=n.createHashFunction((function(){return i("keccak384")})),e.keccak512=n.createHashFunction((function(){return i("keccak512")}))},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.createHashFunction=function(e){return function(r){var n=e();return n.update(r),t.from(n.digest())}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=r(574)(r(577))},function(t,e,r){"use strict";var n=r(575),i=r(576);t.exports=function(t){var e=n(t),r=i(t);return function(t,n){switch("string"==typeof t?t.toLowerCase():t){case"keccak224":return new e(1152,448,null,224,n);case"keccak256":return new e(1088,512,null,256,n);case"keccak384":return new e(832,768,null,384,n);case"keccak512":return new e(576,1024,null,512,n);case"sha3-224":return new e(1152,448,6,224,n);case"sha3-256":return new e(1088,512,6,256,n);case"sha3-384":return new e(832,768,6,384,n);case"sha3-512":return new e(576,1024,6,512,n);case"shake128":return new r(1344,256,31,n);case"shake256":return new r(1088,512,31,n);default:throw new Error("Invald algorithm: "+t)}}}},function(t,e,r){"use strict";(function(e){var n=r(0),i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=r(46).Transform;t.exports=function(t){return function(r){(0,a.default)(s,r);var n=f(s);function s(e,r,o,a,u){var f;return(0,i.default)(this,s),(f=n.call(this,u))._rate=e,f._capacity=r,f._delimitedSuffix=o,f._hashBitLength=a,f._options=u,f._state=new t,f._state.initialize(e,r),f._finalized=!1,f}return(0,o.default)(s,[{key:"_transform",value:function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)}},{key:"_flush",value:function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)}},{key:"update",value:function(t,r){if(!e.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return e.isBuffer(t)||(t=e.from(t,r)),this._state.absorb(t),this}},{key:"digest",value:function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);var e=this._state.squeeze(this._hashBitLength/8);return void 0!==t&&(e=e.toString(t)),this._resetState(),e}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var t=new s(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}}]),s}(c)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(e){var n=r(0),i=n(r(7)),o=n(r(8)),a=n(r(14)),s=n(r(15)),u=n(r(12));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=r(46).Transform;t.exports=function(t){return function(r){(0,a.default)(s,r);var n=f(s);function s(e,r,o,a){var u;return(0,i.default)(this,s),(u=n.call(this,a))._rate=e,u._capacity=r,u._delimitedSuffix=o,u._options=a,u._state=new t,u._state.initialize(e,r),u._finalized=!1,u}return(0,o.default)(s,[{key:"_transform",value:function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)}},{key:"_flush",value:function(){}},{key:"_read",value:function(t){this.push(this.squeeze(t))}},{key:"update",value:function(t,r){if(!e.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return e.isBuffer(t)||(t=e.from(t,r)),this._state.absorb(t),this}},{key:"squeeze",value:function(t,e){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));var r=this._state.squeeze(t);return void 0!==e&&(r=r.toString(e)),r}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var t=new s(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}}]),s}(c)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(e){var n=r(578);function i(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}i.prototype.initialize=function(t,e){for(var r=0;r<50;++r)this.state[r]=0;this.blockSize=t/8,this.count=0,this.squeezing=!1},i.prototype.absorb=function(t){for(var e=0;e>>this.count%4*8&255,this.count+=1,this.count===this.blockSize&&(n.p1600(this.state),this.count=0);return r},i.prototype.copy=function(t){for(var e=0;e<50;++e)t.state[e]=this.state[e];t.blockSize=this.blockSize,t.count=this.count,t.squeezing=this.squeezing},t.exports=i}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];e.p1600=function(t){for(var e=0;e<24;++e){var r=t[0]^t[10]^t[20]^t[30]^t[40],i=t[1]^t[11]^t[21]^t[31]^t[41],o=t[2]^t[12]^t[22]^t[32]^t[42],a=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],u=t[5]^t[15]^t[25]^t[35]^t[45],f=t[6]^t[16]^t[26]^t[36]^t[46],c=t[7]^t[17]^t[27]^t[37]^t[47],h=t[8]^t[18]^t[28]^t[38]^t[48],d=t[9]^t[19]^t[29]^t[39]^t[49],l=h^(o<<1|a>>>31),p=d^(a<<1|o>>>31),m=t[0]^l,b=t[1]^p,v=t[10]^l,y=t[11]^p,g=t[20]^l,w=t[21]^p,_=t[30]^l,M=t[31]^p,k=t[40]^l,S=t[41]^p;l=r^(s<<1|u>>>31),p=i^(u<<1|s>>>31);var A=t[2]^l,x=t[3]^p,E=t[12]^l,P=t[13]^p,B=t[22]^l,O=t[23]^p,R=t[32]^l,T=t[33]^p,I=t[42]^l,C=t[43]^p;l=o^(f<<1|c>>>31),p=a^(c<<1|f>>>31);var N=t[4]^l,U=t[5]^p,j=t[14]^l,L=t[15]^p,D=t[24]^l,F=t[25]^p,q=t[34]^l,H=t[35]^p,z=t[44]^l,K=t[45]^p;l=s^(h<<1|d>>>31),p=u^(d<<1|h>>>31);var G=t[6]^l,V=t[7]^p,W=t[16]^l,Z=t[17]^p,J=t[26]^l,X=t[27]^p,Y=t[36]^l,$=t[37]^p,Q=t[46]^l,tt=t[47]^p;l=f^(r<<1|i>>>31),p=c^(i<<1|r>>>31);var et=t[8]^l,rt=t[9]^p,nt=t[18]^l,it=t[19]^p,ot=t[28]^l,at=t[29]^p,st=t[38]^l,ut=t[39]^p,ft=t[48]^l,ct=t[49]^p,ht=m,dt=b,lt=y<<4|v>>>28,pt=v<<4|y>>>28,mt=g<<3|w>>>29,bt=w<<3|g>>>29,vt=M<<9|_>>>23,yt=_<<9|M>>>23,gt=k<<18|S>>>14,wt=S<<18|k>>>14,_t=A<<1|x>>>31,Mt=x<<1|A>>>31,kt=P<<12|E>>>20,St=E<<12|P>>>20,At=B<<10|O>>>22,xt=O<<10|B>>>22,Et=T<<13|R>>>19,Pt=R<<13|T>>>19,Bt=I<<2|C>>>30,Ot=C<<2|I>>>30,Rt=U<<30|N>>>2,Tt=N<<30|U>>>2,It=j<<6|L>>>26,Ct=L<<6|j>>>26,Nt=F<<11|D>>>21,Ut=D<<11|F>>>21,jt=q<<15|H>>>17,Lt=H<<15|q>>>17,Dt=K<<29|z>>>3,Ft=z<<29|K>>>3,qt=G<<28|V>>>4,Ht=V<<28|G>>>4,zt=Z<<23|W>>>9,Kt=W<<23|Z>>>9,Gt=J<<25|X>>>7,Vt=X<<25|J>>>7,Wt=Y<<21|$>>>11,Zt=$<<21|Y>>>11,Jt=tt<<24|Q>>>8,Xt=Q<<24|tt>>>8,Yt=et<<27|rt>>>5,$t=rt<<27|et>>>5,Qt=nt<<20|it>>>12,te=it<<20|nt>>>12,ee=at<<7|ot>>>25,re=ot<<7|at>>>25,ne=st<<8|ut>>>24,ie=ut<<8|st>>>24,oe=ft<<14|ct>>>18,ae=ct<<14|ft>>>18;t[0]=ht^~kt&Nt,t[1]=dt^~St&Ut,t[10]=qt^~Qt&mt,t[11]=Ht^~te&bt,t[20]=_t^~It&Gt,t[21]=Mt^~Ct&Vt,t[30]=Yt^~lt&At,t[31]=$t^~pt&xt,t[40]=Rt^~zt&ee,t[41]=Tt^~Kt&re,t[2]=kt^~Nt&Wt,t[3]=St^~Ut&Zt,t[12]=Qt^~mt&Et,t[13]=te^~bt&Pt,t[22]=It^~Gt&ne,t[23]=Ct^~Vt&ie,t[32]=lt^~At&jt,t[33]=pt^~xt&Lt,t[42]=zt^~ee&vt,t[43]=Kt^~re&yt,t[4]=Nt^~Wt&oe,t[5]=Ut^~Zt&ae,t[14]=mt^~Et&Dt,t[15]=bt^~Pt&Ft,t[24]=Gt^~ne>,t[25]=Vt^~ie&wt,t[34]=At^~jt&Jt,t[35]=xt^~Lt&Xt,t[44]=ee^~vt&Bt,t[45]=re^~yt&Ot,t[6]=Wt^~oe&ht,t[7]=Zt^~ae&dt,t[16]=Et^~Dt&qt,t[17]=Pt^~Ft&Ht,t[26]=ne^~gt&_t,t[27]=ie^~wt&Mt,t[36]=jt^~Jt&Yt,t[37]=Lt^~Xt&$t,t[46]=vt^~Bt&Rt,t[47]=yt^~Ot&Tt,t[8]=oe^~ht&kt,t[9]=ae^~dt&St,t[18]=Dt^~qt&Qt,t[19]=Ft^~Ht&te,t[28]=gt^~_t&It,t[29]=wt^~Mt&Ct,t[38]=Jt^~Yt<,t[39]=Xt^~$t&pt,t[48]=Bt^~Rt&zt,t[49]=Ot^~Tt&Kt,t[0]^=n[2*e],t[1]^=n[2*e+1]}}},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Address=void 0;var i=n(r(44)),o=n(r(42)),a=r(43),s=r(240),u=function(){function e(t){i.default(20===t.length,"Invalid address length"),this.buf=t}return e.zero=function(){return new e(a.zeros(20))},e.fromString=function(t){return i.default(s.isValidAddress(t),"Invalid address"),new e(a.toBuffer(t))},e.fromPublicKey=function(r){return i.default(t.isBuffer(r),"Public key should be Buffer"),new e(s.pubToAddress(r))},e.fromPrivateKey=function(r){return i.default(t.isBuffer(r),"Private key should be Buffer"),new e(s.privateToAddress(r))},e.generate=function(r,n){return i.default(o.default.isBN(n)),new e(s.generateAddress(r.buf,n.toArrayLike(t)))},e.generate2=function(r,n,o){return i.default(t.isBuffer(n)),i.default(t.isBuffer(o)),new e(s.generateAddress2(r.buf,n,o))},e.prototype.equals=function(t){return this.buf.equals(t.buf)},e.prototype.isZero=function(){return this.equals(e.zero())},e.prototype.isPrecompileOrSystemAddress=function(){var t=new o.default(this.buf),e=new o.default(0),r=new o.default("ffff","hex");return t.gte(e)&&t.lte(r)},e.prototype.toString=function(){return"0x"+this.buf.toString("hex")},e.prototype.toBuffer=function(){return t.from(this.buf)},e}();e.Address=u}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.hashPersonalMessage=e.isValidSignature=e.fromRpcSig=e.toCompactSig=e.toRpcSig=e.ecrecover=e.ecsign=void 0;var i=r(241),o=n(r(42)),a=r(43),s=r(123),u=r(88),f=r(124);function c(t,e){var r=f.toType(t,f.TypeOutput.BN);if(!e)return r.subn(27);var n=f.toType(e,f.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function h(t){var e=new o.default(t);return e.eqn(0)||e.eqn(1)}e.ecsign=function(e,r,n){var o=i.ecdsaSign(e,r),a=o.signature,s=o.recid,u=t.from(a.slice(0,32)),c=t.from(a.slice(32,64));if(!n||"number"==typeof n){if(n&&!Number.isSafeInteger(n))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:u,s:c,v:n?s+(2*n+35):s+27}}return{r:u,s:c,v:f.toType(n,f.TypeOutput.BN).muln(2).addn(35).addn(s).toArrayLike(t)}},e.ecrecover=function(e,r,n,o,s){var u=t.concat([a.setLengthLeft(n,32),a.setLengthLeft(o,32)],64),f=c(r,s);if(!h(f))throw new Error("Invalid signature v value");var d=i.ecdsaRecover(u,f.toNumber(),e);return t.from(i.publicKeyConvert(d,!1).slice(1))},e.toRpcSig=function(e,r,n,i){if(!h(c(e,i)))throw new Error("Invalid signature v value");return a.bufferToHex(t.concat([a.setLengthLeft(r,32),a.setLengthLeft(n,32),a.toBuffer(e)]))},e.toCompactSig=function(e,r,n,i){if(!h(c(e,i)))throw new Error("Invalid signature v value");var o=f.toType(e,f.TypeOutput.Number),s=n;return(o>28&&o%2==1||1===o||28===o)&&((s=t.from(n))[0]|=128),a.bufferToHex(t.concat([a.setLengthLeft(r,32),a.setLengthLeft(s,32)]))},e.fromRpcSig=function(t){var e,r,n,i=a.toBuffer(t);if(i.length>=65)e=i.slice(0,32),r=i.slice(32,64),n=a.bufferToInt(i.slice(64));else{if(64!==i.length)throw new Error("Invalid signature length");e=i.slice(0,32),r=i.slice(32,64),n=a.bufferToInt(i.slice(32,33))>>7,r[0]&=127}return n<27&&(n+=27),{v:n,r:e,s:r}},e.isValidSignature=function(t,e,r,n,i){void 0===n&&(n=!0);var a=new o.default("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new o.default("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==e.length||32!==r.length)return!1;if(!h(c(t,i)))return!1;var u=new o.default(e),f=new o.default(r);return!(u.isZero()||u.gt(s)||f.isZero()||f.gt(s))&&(!n||1!==f.cmp(a))},e.hashPersonalMessage=function(e){u.assertIsBuffer(e);var r=t.from("Ethereum Signed Message:\n"+e.length.toString(),"utf-8");return s.keccak(t.concat([r,e]))}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2)),i=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},o=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&i(e,t,r);return o(e,t),e},s=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.defineProperties=void 0;var u=s(r(44)),f=a(r(56)),c=a(r(87)),h=r(43);e.defineProperties=function(e,r,i){if(e.raw=[],e._fields=[],e.toJSON=function(t){if(void 0===t&&(t=!1),t){var r={};return e._fields.forEach((function(t){r[t]="0x"+e[t].toString("hex")})),r}return h.baToJSON(e.raw)},e.serialize=function(){return c.encode(e.raw)},r.forEach((function(r,n){function i(){return e.raw[n]}function o(i){"00"!==(i=h.toBuffer(i)).toString("hex")||r.allowZero||(i=t.allocUnsafe(0)),r.allowLess&&r.length?(i=h.unpadBuffer(i),u.default(r.length>=i.length,"The field "+r.name+" must not have more "+r.length+" bytes")):r.allowZero&&0===i.length||!r.length||u.default(r.length===i.length,"The field "+r.name+" must have byte length of "+r.length),e.raw[n]=i}e._fields.push(r.name),Object.defineProperty(e,r.name,{enumerable:!0,configurable:!0,get:i,set:o}),r.default&&(e[r.name]=r.default),r.alias&&Object.defineProperty(e,r.alias,{enumerable:!1,configurable:!0,set:o,get:i})})),i)if("string"==typeof i&&(i=t.from(f.stripHexPrefix(i),"hex")),t.isBuffer(i)&&(i=c.decode(i)),Array.isArray(i)){if(i.length>e._fields.length)throw new Error("wrong number of fields in data");i.forEach((function(t,r){e[e._fields[r]]=h.toBuffer(t)}))}else{if("object"!==(0,n.default)(i))throw new Error("invalid data");var o=Object.keys(i);r.forEach((function(t){-1!==o.indexOf(t.name)&&(e[t.name]=i[t.name]),-1!==o.indexOf(t.alias)&&(e[t.alias]=i[t.alias])}))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e},a=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.rlp=e.BN=void 0;var s=a(r(42));e.BN=s.default;var u=o(r(87));e.rlp=u},function(t,e,r){"use strict";(function(t){var n,i,o=r(0)(r(2));i=function(t){t.version="1.2.0";var e=function(){for(var t=0,e=new Array(256),r=0;256!=r;++r)t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=r)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1,e[r]=t;return"undefined"!=typeof Int32Array?new Int32Array(e):e}();t.table=e,t.bstr=function(t,r){for(var n=-1^r,i=t.length-1,o=0;o>>8^e[255&(n^t.charCodeAt(o++))])>>>8^e[255&(n^t.charCodeAt(o++))];return o===i&&(n=n>>>8^e[255&(n^t.charCodeAt(o))]),-1^n},t.buf=function(t,r){if(t.length>1e4)return function(t,r){for(var n=-1^r,i=t.length-7,o=0;o>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])];for(;o>>8^e[255&(n^t[o++])];return-1^n}(t,r);for(var n=-1^r,i=t.length-3,o=0;o>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])];for(;o>>8^e[255&(n^t[o++])];return-1^n},t.str=function(t,r){for(var n,i,o=-1^r,a=0,s=t.length;a>>8^e[255&(o^n)]:n<2048?o=(o=o>>>8^e[255&(o^(192|n>>6&31))])>>>8^e[255&(o^(128|63&n))]:n>=55296&&n<57344?(n=64+(1023&n),i=1023&t.charCodeAt(a++),o=(o=(o=(o=o>>>8^e[255&(o^(240|n>>8&7))])>>>8^e[255&(o^(128|n>>2&63))])>>>8^e[255&(o^(128|i>>6&15|(3&n)<<4))])>>>8^e[255&(o^(128|63&i))]):o=(o=(o=o>>>8^e[255&(o^(224|n>>12&15))])>>>8^e[255&(o^(128|n>>6&63))])>>>8^e[255&(o^(128|63&n))];return-1^o}},"undefined"==typeof DO_NOT_EXPORT_CRC?"object"===(0,o.default)(e)?i(e):void 0===(n=function(){var t={};return i(t),t}.call(e,r,e,t))||(t.exports=n):i({})}).call(this,r(16)(t))},function(t,e,r){"use strict";var n=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.chains=e._getInitializedChains=void 0;var o=i(r(585)),a=i(r(586)),s=i(r(587)),u=i(r(588)),f=i(r(589)),c=i(r(590));function h(t){var e,r,i={1:"mainnet",3:"ropsten",4:"rinkeby",42:"kovan",5:"goerli",123:"calaveras"},h={mainnet:o.default,ropsten:a.default,rinkeby:s.default,kovan:u.default,goerli:f.default,calaveras:c.default};if(t)try{for(var d=n(t),l=d.next();!l.done;l=d.next()){var p=l.value,m=p.name;i[p.chainId.toString()]=m,h[m]=p}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}return h.names=i,h}e._getInitializedChains=h,e.chains=h()},function(t){t.exports=JSON.parse('{"name":"mainnet","chainId":1,"networkId":1,"defaultHardfork":"istanbul","consensus":{"type":"pow","algorithm":"ethash","ethash":{}},"comment":"The Ethereum main chain","url":"https://ethstats.net/","genesis":{"hash":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","timestamp":null,"gasLimit":5000,"difficulty":17179869184,"nonce":"0x0000000000000042","extraData":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","stateRoot":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xfc64ec04"},{"name":"homestead","block":1150000,"forkHash":"0x97c2c34c"},{"name":"dao","block":1920000,"forkHash":"0x91d1f948"},{"name":"tangerineWhistle","block":2463000,"forkHash":"0x7a64da13"},{"name":"spuriousDragon","block":2675000,"forkHash":"0x3edd5b10"},{"name":"byzantium","block":4370000,"forkHash":"0xa00bc324"},{"name":"constantinople","block":7280000,"forkHash":"0x668db0af"},{"name":"petersburg","block":7280000,"forkHash":"0x668db0af"},{"name":"istanbul","block":9069000,"forkHash":"0x879d6e30"},{"name":"muirGlacier","block":9200000,"forkHash":"0xe029e991"},{"name":"berlin","block":12244000,"forkHash":"0x0eb440f6"},{"name":"london","block":12965000,"forkHash":"0xb715077d"}],"bootstrapNodes":[{"ip":"18.138.108.67","port":30303,"id":"d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666","location":"ap-southeast-1-001","comment":"bootnode-aws-ap-southeast-1-001"},{"ip":"3.209.45.79","port":30303,"id":"22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de","location":"us-east-1-001","comment":"bootnode-aws-us-east-1-001"},{"ip":"34.255.23.113","port":30303,"id":"ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758","location":"eu-west-1-001","comment":"bootnode-aws-eu-west-1-001"},{"ip":"35.158.244.151","port":30303,"id":"279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8","location":"eu-central-1-001","comment":"bootnode-aws-eu-central-1-001"},{"ip":"52.187.207.27","port":30303,"id":"8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a","location":"australiaeast-001","comment":"bootnode-azure-australiaeast-001"},{"ip":"191.234.162.198","port":30303,"id":"103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1","location":"brazilsouth-001","comment":"bootnode-azure-brazilsouth-001"},{"ip":"52.231.165.108","port":30303,"id":"715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8","location":"koreasouth-001","comment":"bootnode-azure-koreasouth-001"},{"ip":"104.42.217.25","port":30303,"id":"5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f","location":"westus-001","comment":"bootnode-azure-westus-001"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"ropsten","chainId":3,"networkId":3,"defaultHardfork":"istanbul","consensus":{"type":"pow","algorithm":"ethash","ethash":{}},"comment":"PoW test network","url":"https://github.com/ethereum/ropsten","genesis":{"hash":"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d","timestamp":null,"gasLimit":16777216,"difficulty":1048576,"nonce":"0x0000000000000042","extraData":"0x3535353535353535353535353535353535353535353535353535353535353535","stateRoot":"0x217b0bbcfb72e2d57e28f33cb361b9983513177755dc3f33ce3e7022ed62b77b"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x30c7ddbc"},{"name":"homestead","block":0,"forkHash":"0x30c7ddbc"},{"name":"dao","block":null,"forkHash":null},{"name":"tangerineWhistle","block":0,"forkHash":"0x30c7ddbc"},{"name":"spuriousDragon","block":10,"forkHash":"0x63760190"},{"name":"byzantium","block":1700000,"forkHash":"0x3ea159c7"},{"name":"constantinople","block":4230000,"forkHash":"0x97b544f3"},{"name":"petersburg","block":4939394,"forkHash":"0xd6e2149b"},{"name":"istanbul","block":6485846,"forkHash":"0x4bc66396"},{"name":"muirGlacier","block":7117117,"forkHash":"0x6727ef90"},{"name":"berlin","block":9812189,"forkHash":"0xa157d377"},{"name":"london","block":10499401,"forkHash":"0x7119b6b3"}],"bootstrapNodes":[{"ip":"52.176.7.10","port":30303,"id":"30b7ab30a01c124a6cceca36863ece12c4f5fa68e3ba9b0b51407ccc002eeed3b3102d20a88f1c1d3c3154e2449317b8ef95090e77b312d5cc39354f86d5d606","location":"","comment":"US-Azure geth"},{"ip":"52.176.100.77","port":30303,"id":"865a63255b3bb68023b6bffd5095118fcc13e79dcf014fe4e47e065c350c7cc72af2e53eff895f11ba1bbb6a2b33271c1116ee870f266618eadfc2e78aa7349c","location":"","comment":"US-Azure parity"},{"ip":"52.232.243.152","port":30303,"id":"6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f","location":"","comment":"Parity"},{"ip":"192.81.208.223","port":30303,"id":"94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09","location":"","comment":"@gpip"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.ropsten.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"rinkeby","chainId":4,"networkId":4,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"clique","clique":{"period":15,"epoch":30000}},"comment":"PoA test network","url":"https://www.rinkeby.io","genesis":{"hash":"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177","timestamp":"0x58ee40ba","gasLimit":4700000,"difficulty":1,"nonce":"0x0000000000000000","extraData":"0x52657370656374206d7920617574686f7269746168207e452e436172746d616e42eb768f2244c8811c63729a21a3569731535f067ffc57839b00206d1ad20c69a1981b489f772031b279182d99e65703f0076e4812653aab85fca0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x53580584816f617295ea26c0e17641e0120cab2f0a8ffb53a866fd53aa8e8c2d"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x3b8e0691"},{"name":"homestead","block":1,"forkHash":"0x60949295"},{"name":"dao","block":null,"forkHash":null},{"name":"tangerineWhistle","block":2,"forkHash":"0x8bde40dd"},{"name":"spuriousDragon","block":3,"forkHash":"0xcb3a64bb"},{"name":"byzantium","block":1035301,"forkHash":"0x8d748b57"},{"name":"constantinople","block":3660663,"forkHash":"0xe49cab14"},{"name":"petersburg","block":4321234,"forkHash":"0xafec6b27"},{"name":"istanbul","block":5435345,"forkHash":"0xcbdb8838"},{"name":"berlin","block":8290928,"forkHash":"0x6910c8bd"},{"name":"london","block":8897988,"forkHash":"0x8e29f2f3"}],"bootstrapNodes":[{"ip":"52.169.42.101","port":30303,"id":"a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf","location":"","comment":"IE"},{"ip":"52.3.158.184","port":30303,"id":"343149e4feefa15d882d9fe4ac7d88f885bd05ebb735e547f12e12080a9fa07c8014ca6fd7f373123488102fe5e34111f8509cf0b7de3f5b44339c9f25e87cb8","location":"","comment":"INFURA"},{"ip":"159.89.28.211","port":30303,"id":"b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6","location":"","comment":"AKASHA"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.rinkeby.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"kovan","chainId":42,"networkId":42,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"aura","aura":{}},"comment":"Parity PoA test network","url":"https://kovan-testnet.github.io/website/","genesis":{"hash":"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9","timestamp":null,"gasLimit":6000000,"difficulty":131072,"nonce":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","extraData":"0x","stateRoot":"0x2480155b48a1cea17d67dbfdfaafe821c1d19cdd478c5358e8ec56dec24502b2"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x010ffe56"},{"name":"homestead","block":0,"forkHash":"0x010ffe56"},{"name":"dao","block":null,"forkHash":"0x010ffe56"},{"name":"tangerineWhistle","block":0,"forkHash":"0x010ffe56"},{"name":"spuriousDragon","block":0,"forkHash":"0x010ffe56"},{"name":"byzantium","block":5067000,"forkHash":"0x7f83c620"},{"name":"constantinople","block":9200000,"forkHash":"0xa94e3dc4"},{"name":"petersburg","block":10255201,"forkHash":"0x186874aa"},{"name":"istanbul","block":14111141,"forkHash":"0x7f6599a6"},{"name":"berlin","block":null,"forkHash":null},{"name":"london","block":null,"forkHash":null}],"bootstrapNodes":[{"ip":"116.203.116.241","port":30303,"id":"16898006ba2cd4fa8bf9a3dfe32684c178fa861df144bfc21fe800dc4838a03e342056951fa9fd533dcb0be1219e306106442ff2cf1f7e9f8faa5f2fc1a3aa45","location":"","comment":"1"},{"ip":"3.217.96.11","port":30303,"id":"2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0","location":"","comment":"2"},{"ip":"108.61.170.124","port":30303,"id":"740e1c8ea64e71762c71a463a04e2046070a0c9394fcab5891d41301dc473c0cff00ebab5a9bc87fbcb610ab98ac18225ff897bc8b7b38def5975d5ceb0a7d7c","location":"","comment":"3"},{"ip":"157.230.31.163","port":30303,"id":"2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0","location":"","comment":"4"}]}')},function(t){t.exports=JSON.parse('{"name":"goerli","chainId":5,"networkId":5,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"clique","clique":{"period":15,"epoch":30000}},"comment":"Cross-client PoA test network","url":"https://github.com/goerli/testnet","genesis":{"hash":"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a","timestamp":"0x5c51a607","gasLimit":10485760,"difficulty":1,"nonce":"0x0000000000000000","extraData":"0x22466c6578692069732061207468696e6722202d204166726900000000000000e0a2bd4258d2768837baa26a28fe71dc079f84c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x5d6cded585e73c4e322c30c2f782a336316f17dd85a4863b9d838d2d4b8b3008"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xa3f5ab08"},{"name":"homestead","block":0,"forkHash":"0xa3f5ab08"},{"name":"dao","block":null,"forkHash":"0xa3f5ab08"},{"name":"tangerineWhistle","block":0,"forkHash":"0xa3f5ab08"},{"name":"spuriousDragon","block":0,"forkHash":"0xa3f5ab08"},{"name":"byzantium","block":0,"forkHash":"0xa3f5ab08"},{"name":"constantinople","block":0,"forkHash":"0xa3f5ab08"},{"name":"petersburg","block":0,"forkHash":"0xa3f5ab08"},{"name":"istanbul","block":1561651,"forkHash":"0xc25efa5c"},{"name":"berlin","block":4460644,"forkHash":"0x757a1c47"},{"name":"london","block":5062605,"forkHash":"0xb8c6299d"}],"bootstrapNodes":[{"ip":"51.141.78.53","port":30303,"id":"011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a","location":"","comment":"Upstream bootnode 1"},{"ip":"13.93.54.137","port":30303,"id":"176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b","location":"","comment":"Upstream bootnode 2"},{"ip":"94.237.54.114","port":30313,"id":"46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291","location":"","comment":"Upstream bootnode 3"},{"ip":"18.218.250.66","port":30313,"id":"b5948a2d3e9d486c4d75bf32713221c2bd6cf86463302339299bd227dc2e276cd5a1c7ca4f43a0e9122fe9af884efed563bd2a1fd28661f3b5f5ad7bf1de5949","location":"","comment":"Upstream bootnode 4"},{"ip":"3.11.147.67","port":30303,"id":"a61215641fb8714a373c80edbfa0ea8878243193f57c96eeb44d0bc019ef295abd4e044fd619bfc4c59731a73fb79afe84e9ab6da0c743ceb479cbb6d263fa91","location":"","comment":"Ethereum Foundation bootnode"},{"ip":"51.15.116.226","port":30303,"id":"a869b02cec167211fb4815a82941db2e7ed2936fd90e78619c53eb17753fcf0207463e3419c264e2a1dd8786de0df7e68cf99571ab8aeb7c4e51367ef186b1dd","location":"","comment":"Goerli Initiative bootnode"},{"ip":"51.15.119.157","port":30303,"id":"807b37ee4816ecf407e9112224494b74dd5933625f655962d892f2f0f02d7fbbb3e2a94cf87a96609526f30c998fd71e93e2f53015c558ffc8b03eceaf30ee33","location":"","comment":"Goerli Initiative bootnode"},{"ip":"51.15.119.157","port":40303,"id":"a59e33ccd2b3e52d578f1fbd70c6f9babda2650f0760d6ff3b37742fdcdfdb3defba5d56d315b40c46b70198c7621e63ffa3f987389c7118634b0fefbbdfa7fd","location":"","comment":"Goerli Initiative bootnode"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.goerli.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"calaveras","chainId":123,"networkId":123,"defaultHardfork":"berlin","consensus":{"type":"poa","algorithm":"clique","clique":{"period":30,"epoch":30000}},"comment":"The Calaveras testnet chain","url":"https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/client-integration-testnets/calaveras.md","genesis":{"hash":"0xeb9233d066c275efcdfed8037f4fc082770176aefdbcb7691c71da412a5670f2","gasLimit":"0x47b760","difficulty":"0x1","nonce":"0x0000000000000000","extraData":"0x00000000000000000000000000000000000000000000000000000000000000005211cea3870c7ba7c6c44b185e62eecdb864cd8c560228ce57d31efbf64c200b2c200aacec78cf17a7148e784fe95a7a750335f8b9572ee28d72e7650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x664c93de37eb4a72953ea42b8c046cdb64c9f0b0bca5505ade8d970d49ebdb8c","timestamp":"0x60b3877f"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xe34c4aff"},{"name":"homestead","block":0,"forkHash":"0xe34c4aff"},{"name":"dao","block":null,"forkHash":"0xe34c4aff"},{"name":"tangerineWhistle","block":0,"forkHash":"0xe34c4aff"},{"name":"spuriousDragon","block":0,"forkHash":"0xe34c4aff"},{"name":"byzantium","block":0,"forkHash":"0xe34c4aff"},{"name":"constantinople","block":0,"forkHash":"0xe34c4aff"},{"name":"petersburg","block":0,"forkHash":"0xe34c4aff"},{"name":"istanbul","block":0,"forkHash":"0xe34c4aff"},{"name":"berlin","block":0,"forkHash":"0xe34c4aff"},{"name":"london","block":500,"forkHash":"0x173783e4"}],"bootstrapNodes":[{"ip":"3.21.156.138","port":30303,"id":"39eb08bbfad87481553c471a63ff2a4b4885fffa4ff50f1cf46744d9ad6e2f764ede146fe4df563fa9ccda1a46b9b1a88fb08135e1bf1d71b320912499da773d","location":"","comment":"Calaveras bootnode 1"},{"ip":"3.9.20.133","port":30303,"id":"9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9","location":"","comment":"Calaveras bootnode 2"}]}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hardforks=void 0,e.hardforks=[["chainstart",r(592)],["homestead",r(593)],["dao",r(594)],["tangerineWhistle",r(595)],["spuriousDragon",r(596)],["byzantium",r(597)],["constantinople",r(598)],["petersburg",r(599)],["istanbul",r(600)],["muirGlacier",r(601)],["berlin",r(602)],["london",r(603)]]},function(t){t.exports=JSON.parse('{"name":"chainstart","comment":"Start of the Ethereum main chain","url":"","status":"","gasConfig":{"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be"},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations"},"maxRefundQuotient":{"v":2,"d":"Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)"}},"gasPrices":{"base":{"v":2,"d":"Gas base cost, used e.g. for ChainID opcode (Istanbul)"},"tierStep":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them"},"exp":{"v":10,"d":"Base fee of the EXP opcode"},"expByte":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction"},"sha3":{"v":30,"d":"Base fee of the SHA3 opcode"},"sha3Word":{"v":6,"d":"Once per word of the SHA3 operation\'s data"},"sload":{"v":50,"d":"Base fee of the SLOAD opcode"},"sstoreSet":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero"},"sstoreReset":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero"},"sstoreRefund":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero"},"jumpdest":{"v":1,"d":"Base fee of the JUMPDEST opcode"},"log":{"v":375,"d":"Base fee of the LOG opcode"},"logData":{"v":8,"d":"Per byte in a LOG* operation\'s data"},"logTopic":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas"},"create":{"v":32000,"d":"Base fee of the CREATE opcode"},"call":{"v":40,"d":"Base fee of the CALL opcode"},"callStipend":{"v":2300,"d":"Free gas given at beginning of call"},"callValueTransfer":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero"},"callNewAccount":{"v":25000,"d":"Paid for CALL when the destination address didn\'t exist prior"},"selfdestructRefund":{"v":24000,"d":"Refunded following a selfdestruct operation"},"memory":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL"},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation"},"createData":{"v":200,"d":""},"tx":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions"},"txCreation":{"v":32000,"d":"The cost of creating a contract via tx"},"txDataZero":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions"},"txDataNonZero":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions"},"copy":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added"},"ecRecover":{"v":3000,"d":""},"sha256":{"v":60,"d":""},"sha256Word":{"v":12,"d":""},"ripemd160":{"v":600,"d":""},"ripemd160Word":{"v":120,"d":""},"identity":{"v":15,"d":""},"identityWord":{"v":3,"d":""},"stop":{"v":0,"d":"Base fee of the STOP opcode"},"add":{"v":3,"d":"Base fee of the ADD opcode"},"mul":{"v":5,"d":"Base fee of the MUL opcode"},"sub":{"v":3,"d":"Base fee of the SUB opcode"},"div":{"v":5,"d":"Base fee of the DIV opcode"},"sdiv":{"v":5,"d":"Base fee of the SDIV opcode"},"mod":{"v":5,"d":"Base fee of the MOD opcode"},"smod":{"v":5,"d":"Base fee of the SMOD opcode"},"addmod":{"v":8,"d":"Base fee of the ADDMOD opcode"},"mulmod":{"v":8,"d":"Base fee of the MULMOD opcode"},"signextend":{"v":5,"d":"Base fee of the SIGNEXTEND opcode"},"lt":{"v":3,"d":"Base fee of the LT opcode"},"gt":{"v":3,"d":"Base fee of the GT opcode"},"slt":{"v":3,"d":"Base fee of the SLT opcode"},"sgt":{"v":3,"d":"Base fee of the SGT opcode"},"eq":{"v":3,"d":"Base fee of the EQ opcode"},"iszero":{"v":3,"d":"Base fee of the ISZERO opcode"},"and":{"v":3,"d":"Base fee of the AND opcode"},"or":{"v":3,"d":"Base fee of the OR opcode"},"xor":{"v":3,"d":"Base fee of the XOR opcode"},"not":{"v":3,"d":"Base fee of the NOT opcode"},"byte":{"v":3,"d":"Base fee of the BYTE opcode"},"address":{"v":2,"d":"Base fee of the ADDRESS opcode"},"balance":{"v":20,"d":"Base fee of the BALANCE opcode"},"origin":{"v":2,"d":"Base fee of the ORIGIN opcode"},"caller":{"v":2,"d":"Base fee of the CALLER opcode"},"callvalue":{"v":2,"d":"Base fee of the CALLVALUE opcode"},"calldataload":{"v":3,"d":"Base fee of the CALLDATALOAD opcode"},"calldatasize":{"v":2,"d":"Base fee of the CALLDATASIZE opcode"},"calldatacopy":{"v":3,"d":"Base fee of the CALLDATACOPY opcode"},"codesize":{"v":2,"d":"Base fee of the CODESIZE opcode"},"codecopy":{"v":3,"d":"Base fee of the CODECOPY opcode"},"gasprice":{"v":2,"d":"Base fee of the GASPRICE opcode"},"extcodesize":{"v":20,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":20,"d":"Base fee of the EXTCODECOPY opcode"},"blockhash":{"v":20,"d":"Base fee of the BLOCKHASH opcode"},"coinbase":{"v":2,"d":"Base fee of the COINBASE opcode"},"timestamp":{"v":2,"d":"Base fee of the TIMESTAMP opcode"},"number":{"v":2,"d":"Base fee of the NUMBER opcode"},"difficulty":{"v":2,"d":"Base fee of the DIFFICULTY opcode"},"gaslimit":{"v":2,"d":"Base fee of the GASLIMIT opcode"},"pop":{"v":2,"d":"Base fee of the POP opcode"},"mload":{"v":3,"d":"Base fee of the MLOAD opcode"},"mstore":{"v":3,"d":"Base fee of the MSTORE opcode"},"mstore8":{"v":3,"d":"Base fee of the MSTORE8 opcode"},"sstore":{"v":0,"d":"Base fee of the SSTORE opcode"},"jump":{"v":8,"d":"Base fee of the JUMP opcode"},"jumpi":{"v":10,"d":"Base fee of the JUMPI opcode"},"pc":{"v":2,"d":"Base fee of the PC opcode"},"msize":{"v":2,"d":"Base fee of the MSIZE opcode"},"gas":{"v":2,"d":"Base fee of the GAS opcode"},"push":{"v":3,"d":"Base fee of the PUSH opcode"},"dup":{"v":3,"d":"Base fee of the DUP opcode"},"swap":{"v":3,"d":"Base fee of the SWAP opcode"},"callcode":{"v":40,"d":"Base fee of the CALLCODE opcode"},"return":{"v":0,"d":"Base fee of the RETURN opcode"},"invalid":{"v":0,"d":"Base fee of the INVALID opcode"},"selfdestruct":{"v":0,"d":"Base fee of the SELFDESTRUCT opcode"}},"vm":{"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed"},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack"},"maxExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis"}},"pow":{"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be"},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations"},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not"},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"difficultyBombDelay":{"v":0,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"homestead","comment":"Homestead hardfork with protocol and network changes","url":"https://eips.ethereum.org/EIPS/eip-606","status":"Final","gasConfig":{},"gasPrices":{"delegatecall":{"v":40,"d":"Base fee of the DELEGATECALL opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"dao","comment":"DAO rescue hardfork","url":"https://eips.ethereum.org/EIPS/eip-779","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"tangerineWhistle","comment":"Hardfork with gas cost changes for IO-heavy operations","url":"https://eips.ethereum.org/EIPS/eip-608","status":"Final","gasConfig":{},"gasPrices":{"sload":{"v":200,"d":"Once per SLOAD operation"},"call":{"v":700,"d":"Once per CALL operation & message call transaction"},"extcodesize":{"v":700,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":700,"d":"Base fee of the EXTCODECOPY opcode"},"balance":{"v":400,"d":"Base fee of the BALANCE opcode"},"delegatecall":{"v":700,"d":"Base fee of the DELEGATECALL opcode"},"callcode":{"v":700,"d":"Base fee of the CALLCODE opcode"},"selfdestruct":{"v":5000,"d":"Base fee of the SELFDESTRUCT opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"spuriousDragon","comment":"HF with EIPs for simple replay attack protection, EXP cost increase, state trie clearing, contract code size limit","url":"https://eips.ethereum.org/EIPS/eip-607","status":"Final","gasConfig":{},"gasPrices":{"expByte":{"v":50,"d":"Times ceil(log256(exponent)) for the EXP instruction"}},"vm":{"maxCodeSize":{"v":24576,"d":"Maximum length of contract code"}},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"byzantium","comment":"Hardfork with new precompiles, instructions and other protocol changes","url":"https://eips.ethereum.org/EIPS/eip-609","status":"Final","gasConfig":{},"gasPrices":{"modexpGquaddivisor":{"v":20,"d":"Gquaddivisor from modexp precompile for gas calculation"},"ecAdd":{"v":500,"d":"Gas costs for curve addition precompile"},"ecMul":{"v":40000,"d":"Gas costs for curve multiplication precompile"},"ecPairing":{"v":100000,"d":"Base gas costs for curve pairing precompile"},"ecPairingWord":{"v":80000,"d":"Gas costs regarding curve pairing precompile input length"},"revert":{"v":0,"d":"Base fee of the REVERT opcode"},"staticcall":{"v":700,"d":"Base fee of the STATICCALL opcode"},"returndatasize":{"v":2,"d":"Base fee of the RETURNDATASIZE opcode"},"returndatacopy":{"v":3,"d":"Base fee of the RETURNDATACOPY opcode"}},"vm":{},"pow":{"minerReward":{"v":"3000000000000000000","d":"the amount a miner get rewarded for mining a block"},"difficultyBombDelay":{"v":3000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"constantinople","comment":"Postponed hardfork including EIP-1283 (SSTORE gas metering changes)","url":"https://eips.ethereum.org/EIPS/eip-1013","status":"Final","gasConfig":{},"gasPrices":{"netSstoreNoopGas":{"v":200,"d":"Once per SSTORE operation if the value doesn\'t change"},"netSstoreInitGas":{"v":20000,"d":"Once per SSTORE operation from clean zero"},"netSstoreCleanGas":{"v":5000,"d":"Once per SSTORE operation from clean non-zero"},"netSstoreDirtyGas":{"v":200,"d":"Once per SSTORE operation from dirty"},"netSstoreClearRefund":{"v":15000,"d":"Once per SSTORE operation for clearing an originally existing storage slot"},"netSstoreResetRefund":{"v":4800,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"netSstoreResetClearRefund":{"v":19800,"d":"Once per SSTORE operation for resetting to the original zero value"},"shl":{"v":3,"d":"Base fee of the SHL opcode"},"shr":{"v":3,"d":"Base fee of the SHR opcode"},"sar":{"v":3,"d":"Base fee of the SAR opcode"},"extcodehash":{"v":400,"d":"Base fee of the EXTCODEHASH opcode"},"create2":{"v":32000,"d":"Base fee of the CREATE2 opcode"}},"vm":{},"pow":{"minerReward":{"v":"2000000000000000000","d":"The amount a miner gets rewarded for mining a block"},"difficultyBombDelay":{"v":5000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"petersburg","comment":"Aka constantinopleFix, removes EIP-1283, activate together with or after constantinople","url":"https://eips.ethereum.org/EIPS/eip-1716","status":"Draft","gasConfig":{},"gasPrices":{"netSstoreNoopGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreInitGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreCleanGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreDirtyGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreClearRefund":{"v":null,"d":"Removed along EIP-1283"},"netSstoreResetRefund":{"v":null,"d":"Removed along EIP-1283"},"netSstoreResetClearRefund":{"v":null,"d":"Removed along EIP-1283"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"istanbul","comment":"HF targeted for December 2019 following the Constantinople/Petersburg HF","url":"https://eips.ethereum.org/EIPS/eip-1679","status":"Draft","gasConfig":{},"gasPrices":{"blake2Round":{"v":1,"d":"Gas cost per round for the Blake2 F precompile"},"ecAdd":{"v":150,"d":"Gas costs for curve addition precompile"},"ecMul":{"v":6000,"d":"Gas costs for curve multiplication precompile"},"ecPairing":{"v":45000,"d":"Base gas costs for curve pairing precompile"},"ecPairingWord":{"v":34000,"d":"Gas costs regarding curve pairing precompile input length"},"txDataNonZero":{"v":16,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions"},"sstoreSentryGasEIP2200":{"v":2300,"d":"Minimum gas required to be present for an SSTORE call, not consumed"},"sstoreNoopGasEIP2200":{"v":800,"d":"Once per SSTORE operation if the value doesn\'t change"},"sstoreDirtyGasEIP2200":{"v":800,"d":"Once per SSTORE operation if a dirty value is changed"},"sstoreInitGasEIP2200":{"v":20000,"d":"Once per SSTORE operation from clean zero to non-zero"},"sstoreInitRefundEIP2200":{"v":19200,"d":"Once per SSTORE operation for resetting to the original zero value"},"sstoreCleanGasEIP2200":{"v":5000,"d":"Once per SSTORE operation from clean non-zero to something else"},"sstoreCleanRefundEIP2200":{"v":4200,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"sstoreClearRefundEIP2200":{"v":15000,"d":"Once per SSTORE operation for clearing an originally existing storage slot"},"balance":{"v":700,"d":"Base fee of the BALANCE opcode"},"extcodehash":{"v":700,"d":"Base fee of the EXTCODEHASH opcode"},"chainid":{"v":2,"d":"Base fee of the CHAINID opcode"},"selfbalance":{"v":5,"d":"Base fee of the SELFBALANCE opcode"},"sload":{"v":800,"d":"Base fee of the SLOAD opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"muirGlacier","comment":"HF to delay the difficulty bomb","url":"https://eips.ethereum.org/EIPS/eip-2384","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{"difficultyBombDelay":{"v":9000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"berlin","comment":"HF targeted for July 2020 following the Muir Glacier HF","url":"https://eips.ethereum.org/EIPS/eip-2070","status":"Draft","eips":[2565,2929,2718,2930]}')},function(t){t.exports=JSON.parse('{"name":"london","comment":"HF targeted for July 2021 following the Berlin fork","url":"https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/mainnet-upgrades/london.md","status":"Draft","eips":[1559,3198,3529,3541]}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EIPs=void 0,e.EIPs={1559:r(605),2315:r(606),2537:r(607),2565:r(608),2718:r(609),2929:r(610),2930:r(611),3198:r(612),3529:r(613),3541:r(614),3554:r(615)}},function(t){t.exports=JSON.parse('{"name":"EIP-1559","number":1559,"comment":"Fee market change for ETH 1.0 chain","url":"https://eips.ethereum.org/EIPS/eip-1559","status":"Review","minimumHardfork":"berlin","requiredEIPs":[2930],"gasConfig":{"baseFeeMaxChangeDenominator":{"v":8,"d":"Maximum base fee change denominator"},"elasticityMultiplier":{"v":2,"d":"Maximum block gas target elasticity"},"initialBaseFee":{"v":1000000000,"d":"Initial base fee on first EIP1559 block"}},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2315","number":2315,"comment":"Simple subroutines for the EVM","url":"https://eips.ethereum.org/EIPS/eip-2315","status":"Draft","minimumHardfork":"istanbul","gasConfig":{},"gasPrices":{"beginsub":{"v":2,"d":"Base fee of the BEGINSUB opcode"},"returnsub":{"v":5,"d":"Base fee of the RETURNSUB opcode"},"jumpsub":{"v":10,"d":"Base fee of the JUMPSUB opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2537","number":2537,"comment":"BLS12-381 precompiles","url":"https://eips.ethereum.org/EIPS/eip-2537","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{"Bls12381G1AddGas":{"v":600,"d":"Gas cost of a single BLS12-381 G1 addition precompile-call"},"Bls12381G1MulGas":{"v":12000,"d":"Gas cost of a single BLS12-381 G1 multiplication precompile-call"},"Bls12381G2AddGas":{"v":4500,"d":"Gas cost of a single BLS12-381 G2 addition precompile-call"},"Bls12381G2MulGas":{"v":55000,"d":"Gas cost of a single BLS12-381 G2 multiplication precompile-call"},"Bls12381PairingBaseGas":{"v":115000,"d":"Base gas cost of BLS12-381 pairing check"},"Bls12381PairingPerPairGas":{"v":23000,"d":"Per-pair gas cost of BLS12-381 pairing check"},"Bls12381MapG1Gas":{"v":5500,"d":"Gas cost of BLS12-381 map field element to G1"},"Bls12381MapG2Gas":{"v":110000,"d":"Gas cost of BLS12-381 map field element to G2"},"Bls12381MultiExpGasDiscount":{"v":[[1,1200],[2,888],[3,764],[4,641],[5,594],[6,547],[7,500],[8,453],[9,438],[10,423],[11,408],[12,394],[13,379],[14,364],[15,349],[16,334],[17,330],[18,326],[19,322],[20,318],[21,314],[22,310],[23,306],[24,302],[25,298],[26,294],[27,289],[28,285],[29,281],[30,277],[31,273],[32,269],[33,268],[34,266],[35,265],[36,263],[37,262],[38,260],[39,259],[40,257],[41,256],[42,254],[43,253],[44,251],[45,250],[46,248],[47,247],[48,245],[49,244],[50,242],[51,241],[52,239],[53,238],[54,236],[55,235],[56,233],[57,232],[58,231],[59,229],[60,228],[61,226],[62,225],[63,223],[64,222],[65,221],[66,220],[67,219],[68,219],[69,218],[70,217],[71,216],[72,216],[73,215],[74,214],[75,213],[76,213],[77,212],[78,211],[79,211],[80,210],[81,209],[82,208],[83,208],[84,207],[85,206],[86,205],[87,205],[88,204],[89,203],[90,202],[91,202],[92,201],[93,200],[94,199],[95,199],[96,198],[97,197],[98,196],[99,196],[100,195],[101,194],[102,193],[103,193],[104,192],[105,191],[106,191],[107,190],[108,189],[109,188],[110,188],[111,187],[112,186],[113,185],[114,185],[115,184],[116,183],[117,182],[118,182],[119,181],[120,180],[121,179],[122,179],[123,178],[124,177],[125,176],[126,176],[127,175],[128,174]],"d":"Discount gas costs of calls to the MultiExp precompiles with `k` (point, scalar) pair"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2565","number":2565,"comment":"ModExp gas cost","url":"https://eips.ethereum.org/EIPS/eip-2565","status":"Last call","minimumHardfork":"byzantium","gasConfig":{},"gasPrices":{"modexpGquaddivisor":{"v":3,"d":"Gquaddivisor from modexp precompile for gas calculation"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2718","comment":"Typed Transaction Envelope","url":"https://eips.ethereum.org/EIPS/eip-2718","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2929","comment":"Gas cost increases for state access opcodes","url":"https://eips.ethereum.org/EIPS/eip-2929","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{"coldsload":{"v":2100,"d":"Gas cost of the first read of storage from a given location (per transaction)"},"coldaccountaccess":{"v":2600,"d":"Gas cost of the first read of a given address (per transaction)"},"warmstorageread":{"v":100,"d":"Gas cost of reading storage locations which have already loaded \'cold\'"},"sstoreCleanGasEIP2200":{"v":2900,"d":"Once per SSTORE operation from clean non-zero to something else"},"sstoreNoopGasEIP2200":{"v":100,"d":"Once per SSTORE operation if the value doesn\'t change"},"sstoreDirtyGasEIP2200":{"v":100,"d":"Once per SSTORE operation if a dirty value is changed"},"sstoreInitRefundEIP2200":{"v":19900,"d":"Once per SSTORE operation for resetting to the original zero value"},"sstoreCleanRefundEIP2200":{"v":4900,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"call":{"v":0,"d":"Base fee of the CALL opcode"},"callcode":{"v":0,"d":"Base fee of the CALLCODE opcode"},"delegatecall":{"v":0,"d":"Base fee of the DELEGATECALL opcode"},"staticcall":{"v":0,"d":"Base fee of the STATICCALL opcode"},"balance":{"v":0,"d":"Base fee of the BALANCE opcode"},"extcodesize":{"v":0,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":0,"d":"Base fee of the EXTCODECOPY opcode"},"extcodehash":{"v":0,"d":"Base fee of the EXTCODEHASH opcode"},"sload":{"v":0,"d":"Base fee of the SLOAD opcode"},"sstore":{"v":0,"d":"Base fee of the SSTORE opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2930","comment":"Optional access lists","url":"https://eips.ethereum.org/EIPS/eip-2930","status":"Draft","minimumHardfork":"istanbul","requiredEIPs":[2718,2929],"gasConfig":{},"gasPrices":{"accessListStorageKeyCost":{"v":1900,"d":"Gas cost per storage key in an Access List transaction"},"accessListAddressCost":{"v":2400,"d":"Gas cost per storage key in an Access List transaction"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3198","number":3198,"comment":"BASEFEE opcode","url":"https://eips.ethereum.org/EIPS/eip-3198","status":"Review","minimumHardfork":"london","gasConfig":{},"gasPrices":{"basefee":{"v":2,"d":"Gas cost of the BASEFEE opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3529","comment":"Reduction in refunds","url":"https://eips.ethereum.org/EIPS/eip-3529","status":"Draft","minimumHardfork":"berlin","requiredEIPs":[2929],"gasConfig":{"maxRefundQuotient":{"v":5,"d":"Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)"}},"gasPrices":{"selfdestructRefund":{"v":0,"d":"Refunded following a selfdestruct operation"},"sstoreClearRefundEIP2200":{"v":4800,"d":"Once per SSTORE operation for clearing an originally existing storage slot"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3541","comment":"Reject new contracts starting with the 0xEF byte","url":"https://eips.ethereum.org/EIPS/eip-3541","status":"Draft","minimumHardfork":"berlin","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3554","comment":"Reduction in refunds","url":"Difficulty Bomb Delay to December 1st 2021","status":"Draft","minimumHardfork":"muirGlacier","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{"difficultyBombDelay":{"v":9500000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t,e,r){"use strict";(function(t){var n,i=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(e,"__esModule",{value:!0});var s=r(32),u=r(125),f=r(57),c=r(243),h=t.from(1..toString(16).padStart(2,"0"),"hex"),d=function(e){function r(t,r){var n,i;void 0===r&&(r={});var a=e.call(this,o(o({},t),{type:1}))||this;a.DEFAULT_HARDFORK="berlin";var u=t.chainId,h=t.accessList,d=t.gasPrice;if(a.common=a._getCommon(r.common,u),a.chainId=a.common.chainIdBN(),!a.common.isActivatedEIP(2930))throw new Error("EIP-2930 not enabled on Common");a.activeCapabilities=a.activeCapabilities.concat([2718,2930]);var l=c.AccessLists.getAccessListData(null!=h?h:[]);if(a.accessList=l.accessList,a.AccessListJSON=l.AccessListJSON,c.AccessLists.verifyAccessList(a.accessList),a.gasPrice=new s.BN(s.toBuffer(""===d?"0x":d)),a._validateCannotExceedMaxInteger({gasPrice:a.gasPrice}),a.v&&!a.v.eqn(0)&&!a.v.eqn(1))throw new Error("The y-parity of the transaction should either be 0 or 1");if(a.common.gteHardfork("homestead")&&(null===(n=a.s)||void 0===n?void 0:n.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");return(null===(i=null==r?void 0:r.freeze)||void 0===i||i)&&Object.freeze(a),a}return i(r,e),Object.defineProperty(r.prototype,"senderR",{get:function(){return this.r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"senderS",{get:function(){return this.s},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"yParity",{get:function(){return this.v},enumerable:!1,configurable:!0}),r.fromTxData=function(t,e){return void 0===e&&(e={}),new r(t,e)},r.fromSerializedTx=function(t,e){if(void 0===e&&(e={}),!t.slice(0,1).equals(h))throw new Error("Invalid serialized tx input: not an EIP-2930 transaction (wrong tx type, expected: 1, received: "+t.slice(0,1).toString("hex"));var n=s.rlp.decode(t.slice(1));if(!Array.isArray(n))throw new Error("Invalid serialized tx input: must be array");return r.fromValuesArray(n,e)},r.fromRlpSerializedTx=function(t,e){return void 0===e&&(e={}),r.fromSerializedTx(t,e)},r.fromValuesArray=function(t,e){if(void 0===e&&(e={}),8!==t.length&&11!==t.length)throw new Error("Invalid EIP-2930 transaction. Only expecting 8 values (for unsigned tx) or 11 values (for signed tx).");var n=a(t,11),i=n[0],o=n[1],u=n[2],f=n[3],c=n[4],h=n[5],d=n[6],l=n[7],p=n[8],m=n[9],b=n[10];return new r({chainId:new s.BN(i),nonce:o,gasPrice:u,gasLimit:f,to:c,value:h,data:d,accessList:null!=l?l:[],v:void 0!==p?new s.BN(p):void 0,r:m,s:b},e)},r.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(c.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},r.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},r.prototype.raw=function(){return[s.bnToUnpaddedBuffer(this.chainId),s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.gasPrice),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data,this.accessList,void 0!==this.v?s.bnToUnpaddedBuffer(this.v):t.from([]),void 0!==this.r?s.bnToUnpaddedBuffer(this.r):t.from([]),void 0!==this.s?s.bnToUnpaddedBuffer(this.s):t.from([])]},r.prototype.serialize=function(){var e=this.raw();return t.concat([h,s.rlp.encode(e)])},r.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var r=this.raw().slice(0,8),n=t.concat([h,s.rlp.encode(r)]);return e?s.keccak256(n):n},r.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return s.keccak256(this.serialize())},r.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},r.prototype.getSenderPublicKey=function(){var t;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var e=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(t=this.s)||void 0===t?void 0:t.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this.yParity,n=this.r,i=this.s;try{return s.ecrecover(e,r.addn(27),s.bnToUnpaddedBuffer(n),s.bnToUnpaddedBuffer(i))}catch(t){throw new Error("Invalid Signature")}},r.prototype._processSignature=function(t,e,n){var i={common:this.common};return r.fromTxData({chainId:this.chainId,nonce:this.nonce,gasPrice:this.gasPrice,gasLimit:this.gasLimit,to:this.to,value:this.value,data:this.data,accessList:this.accessList,v:new s.BN(t-27),r:new s.BN(e),s:new s.BN(n)},i)},r.prototype.toJSON=function(){var t=c.AccessLists.getAccessListJSON(this.accessList);return{chainId:s.bnToHex(this.chainId),nonce:s.bnToHex(this.nonce),gasPrice:s.bnToHex(this.gasPrice),gasLimit:s.bnToHex(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:s.bnToHex(this.value),data:"0x"+this.data.toString("hex"),accessList:t,v:void 0!==this.v?s.bnToHex(this.v):void 0,r:void 0!==this.r?s.bnToHex(this.r):void 0,s:void 0!==this.s?s.bnToHex(this.s):void 0}},r}(u.BaseTransaction);e.default=d}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=r(32),i=r(238),o=function(){function e(){}return e.fromTxData=function(t,e){if(void 0===e&&(e={}),"type"in t&&void 0!==t.type){var r=new n.BN(n.toBuffer(t.type)).toNumber();if(0===r)return i.Transaction.fromTxData(t,e);if(1===r)return i.AccessListEIP2930Transaction.fromTxData(t,e);if(2===r)return i.FeeMarketEIP1559Transaction.fromTxData(t,e);throw new Error("Tx instantiation with type "+r+" not supported")}return i.Transaction.fromTxData(t,e)},e.fromSerializedData=function(t,e){if(void 0===e&&(e={}),t[0]<=127){var r=void 0;switch(t[0]){case 1:r=2930;break;case 2:r=1559;break;default:throw new Error("TypedTransaction with ID "+t[0]+" unknown")}return 1559===r?i.FeeMarketEIP1559Transaction.fromSerializedTx(t,e):i.AccessListEIP2930Transaction.fromSerializedTx(t,e)}return i.Transaction.fromSerializedTx(t,e)},e.fromBlockBodyData=function(e,r){if(void 0===r&&(r={}),t.isBuffer(e))return this.fromSerializedData(e,r);if(Array.isArray(e))return i.Transaction.fromValuesArray(e,r);throw new Error("Cannot decode transaction: unknown type input")},e.getTransactionClass=function(t,e){if(void 0===t&&(t=0),0==t||t>=128&&t<=255)return i.Transaction;switch(t){case 1:return i.AccessListEIP2930Transaction;case 2:return i.FeeMarketEIP1559Transaction;default:throw new Error("TypedTransaction with ID "+t+" unknown")}},e}();e.default=o}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n,i=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(e,"__esModule",{value:!0});var s=r(32),u=r(125),f=r(57),c=r(243),h=t.from(2..toString(16).padStart(2,"0"),"hex"),d=function(e){function r(t,r){var n,i;void 0===r&&(r={});var a=e.call(this,o(o({},t),{type:2}))||this;a.DEFAULT_HARDFORK="london";var u=t.chainId,h=t.accessList,d=t.maxFeePerGas,l=t.maxPriorityFeePerGas;if(a.common=a._getCommon(r.common,u),a.chainId=a.common.chainIdBN(),!a.common.isActivatedEIP(1559))throw new Error("EIP-1559 not enabled on Common");a.activeCapabilities=a.activeCapabilities.concat([1559,2718,2930]);var p=c.AccessLists.getAccessListData(null!=h?h:[]);if(a.accessList=p.accessList,a.AccessListJSON=p.AccessListJSON,c.AccessLists.verifyAccessList(a.accessList),a.maxFeePerGas=new s.BN(s.toBuffer(""===d?"0x":d)),a.maxPriorityFeePerGas=new s.BN(s.toBuffer(""===l?"0x":l)),a._validateCannotExceedMaxInteger({maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas},256),a.maxFeePerGas.lt(a.maxPriorityFeePerGas))throw new Error("maxFeePerGas cannot be less than maxPriorityFeePerGas (The total must be the larger of the two)");if(a.v&&!a.v.eqn(0)&&!a.v.eqn(1))throw new Error("The y-parity of the transaction should either be 0 or 1");if(a.common.gteHardfork("homestead")&&(null===(n=a.s)||void 0===n?void 0:n.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");return(null===(i=null==r?void 0:r.freeze)||void 0===i||i)&&Object.freeze(a),a}return i(r,e),Object.defineProperty(r.prototype,"senderR",{get:function(){return this.r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"senderS",{get:function(){return this.s},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"yParity",{get:function(){return this.v},enumerable:!1,configurable:!0}),r.fromTxData=function(t,e){return void 0===e&&(e={}),new r(t,e)},r.fromSerializedTx=function(t,e){if(void 0===e&&(e={}),!t.slice(0,1).equals(h))throw new Error("Invalid serialized tx input: not an EIP-1559 transaction (wrong tx type, expected: 2, received: "+t.slice(0,1).toString("hex"));var n=s.rlp.decode(t.slice(1));if(!Array.isArray(n))throw new Error("Invalid serialized tx input: must be array");return r.fromValuesArray(n,e)},r.fromRlpSerializedTx=function(t,e){return void 0===e&&(e={}),r.fromSerializedTx(t,e)},r.fromValuesArray=function(t,e){if(void 0===e&&(e={}),9!==t.length&&12!==t.length)throw new Error("Invalid EIP-1559 transaction. Only expecting 9 values (for unsigned tx) or 12 values (for signed tx).");var n=a(t,12),i=n[0],o=n[1],u=n[2],f=n[3],c=n[4],h=n[5],d=n[6],l=n[7],p=n[8],m=n[9],b=n[10],v=n[11];return new r({chainId:new s.BN(i),nonce:o,maxPriorityFeePerGas:u,maxFeePerGas:f,gasLimit:c,to:h,value:d,data:l,accessList:null!=p?p:[],v:void 0!==m?new s.BN(m):void 0,r:b,s:v},e)},r.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(c.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},r.prototype.getUpfrontCost=function(t){void 0===t&&(t=new s.BN(0));var e=s.BN.min(this.maxPriorityFeePerGas,this.maxFeePerGas.sub(t)).add(t);return this.gasLimit.mul(e).add(this.value)},r.prototype.raw=function(){return[s.bnToUnpaddedBuffer(this.chainId),s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.maxPriorityFeePerGas),s.bnToUnpaddedBuffer(this.maxFeePerGas),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data,this.accessList,void 0!==this.v?s.bnToUnpaddedBuffer(this.v):t.from([]),void 0!==this.r?s.bnToUnpaddedBuffer(this.r):t.from([]),void 0!==this.s?s.bnToUnpaddedBuffer(this.s):t.from([])]},r.prototype.serialize=function(){var e=this.raw();return t.concat([h,s.rlp.encode(e)])},r.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var r=this.raw().slice(0,9),n=t.concat([h,s.rlp.encode(r)]);return e?s.keccak256(n):n},r.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return s.keccak256(this.serialize())},r.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},r.prototype.getSenderPublicKey=function(){var t;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var e=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(t=this.s)||void 0===t?void 0:t.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this.v,n=this.r,i=this.s;try{return s.ecrecover(e,r.addn(27),s.bnToUnpaddedBuffer(n),s.bnToUnpaddedBuffer(i))}catch(t){throw new Error("Invalid Signature")}},r.prototype._processSignature=function(t,e,n){var i={common:this.common};return r.fromTxData({chainId:this.chainId,nonce:this.nonce,maxPriorityFeePerGas:this.maxPriorityFeePerGas,maxFeePerGas:this.maxFeePerGas,gasLimit:this.gasLimit,to:this.to,value:this.value,data:this.data,accessList:this.accessList,v:new s.BN(t-27),r:new s.BN(e),s:new s.BN(n)},i)},r.prototype.toJSON=function(){var t=c.AccessLists.getAccessListJSON(this.accessList);return{chainId:s.bnToHex(this.chainId),nonce:s.bnToHex(this.nonce),maxPriorityFeePerGas:s.bnToHex(this.maxPriorityFeePerGas),maxFeePerGas:s.bnToHex(this.maxFeePerGas),gasLimit:s.bnToHex(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:s.bnToHex(this.value),data:"0x"+this.data.toString("hex"),accessList:t,v:void 0!==this.v?s.bnToHex(this.v):void 0,r:void 0!==this.r?s.bnToHex(this.r):void 0,s:void 0!==this.s?s.bnToHex(this.s):void 0}},r}(u.BaseTransaction);e.default=d}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=function(t){var e,r=this;return this.net.getId().then((function(t){return e=t,r.getBlock(0)})).then((function(r){var n="private";return"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"===r.hash&&1===e&&(n="main"),"0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303"===r.hash&&2===e&&(n="morden"),"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d"===r.hash&&3===e&&(n="ropsten"),"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177"===r.hash&&4===e&&(n="rinkeby"),"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a"===r.hash&&5===e&&(n="goerli"),"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9"===r.hash&&42===e&&(n="kovan"),"function"==typeof t&&t(null,n),n})).catch((function(e){if("function"!=typeof t)throw e;t(e)}))}},function(t,e,r){"use strict";var n=r(33),i=r(73).subscriptions,o=r(35),a=r(79),s=function(){var t=this;n.packageInit(this,arguments);var e=this.setRequestManager;this.setRequestManager=function(r){return e(r),t.net.setRequestManager(r),!0};var r=this.setProvider;this.setProvider=function(){r.apply(t,arguments),t.setRequestManager(t._requestManager)},this.net=new a(this),[new i({name:"subscribe",type:"shh",subscriptions:{messages:{params:1}}}),new o({name:"getVersion",call:"shh_version",params:0}),new o({name:"getInfo",call:"shh_info",params:0}),new o({name:"setMaxMessageSize",call:"shh_setMaxMessageSize",params:1}),new o({name:"setMinPoW",call:"shh_setMinPoW",params:1}),new o({name:"markTrustedPeer",call:"shh_markTrustedPeer",params:1}),new o({name:"newKeyPair",call:"shh_newKeyPair",params:0}),new o({name:"addPrivateKey",call:"shh_addPrivateKey",params:1}),new o({name:"deleteKeyPair",call:"shh_deleteKeyPair",params:1}),new o({name:"hasKeyPair",call:"shh_hasKeyPair",params:1}),new o({name:"getPublicKey",call:"shh_getPublicKey",params:1}),new o({name:"getPrivateKey",call:"shh_getPrivateKey",params:1}),new o({name:"newSymKey",call:"shh_newSymKey",params:0}),new o({name:"addSymKey",call:"shh_addSymKey",params:1}),new o({name:"generateSymKeyFromPassword",call:"shh_generateSymKeyFromPassword",params:1}),new o({name:"hasSymKey",call:"shh_hasSymKey",params:1}),new o({name:"getSymKey",call:"shh_getSymKey",params:1}),new o({name:"deleteSymKey",call:"shh_deleteSymKey",params:1}),new o({name:"newMessageFilter",call:"shh_newMessageFilter",params:1}),new o({name:"getFilterMessages",call:"shh_getFilterMessages",params:1}),new o({name:"deleteMessageFilter",call:"shh_deleteMessageFilter",params:1}),new o({name:"post",call:"shh_post",params:1,inputFormatter:[null]}),new o({name:"unsubscribe",call:"shh_unsubscribe",params:1})].forEach((function(e){e.attachToObject(t),e.setRequestManager(t._requestManager)}))};s.prototype.clearSubscriptions=function(){this._requestManager.clearSubscriptions()},n.addProviders(s),t.exports=s},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(622),o=function t(e){this.givenProvider=t.givenProvider,e&&e._requestManager&&(e=e.currentProvider),"undefined"!=typeof document&&(this.pick=i.pick),this.setProvider(e)};o.givenProvider=null,"undefined"!=typeof ethereum&ðereum.bzz&&(o.givenProvider=ethereum.bzz),o.prototype.setProvider=function(t){if(t&&"object"===(0,n.default)(t)&&"string"==typeof t.bzz&&(t=t.bzz),"string"!=typeof t){this.currentProvider=null;var e=new Error("No provider set, please set one using bzz.setProvider().");return this.download=this.upload=this.isAvailable=function(){throw e},!1}return this.currentProvider=t,this.download=i.at(t).download,this.upload=i.at(t).upload,this.isAvailable=i.at(t).isAvailable,!0},t.exports=o},function(t,e,r){"use strict";var n=function(){throw"This swarm.js function isn't available on the browser."},i={readFile:n},o={download:n,safeDownloadArchived:n,directoryTree:n},a={platform:n,arch:n},s={join:n,slice:n},u={spawn:n},f={lookup:n},c=r(623),h=r(244),d=r(636),l=r(638),p=r(639);t.exports=p({fs:i,files:o,os:a,path:s,child_process:u,defaultArchives:{},mimetype:f,request:c,downloadUrl:null,bytes:h,hash:d,pick:l})},function(t,e,r){"use strict";var n=r(624),i=r(627),o=r(97),a=r(628),s=r(629),u=function(){};t.exports=function(t,e,r){if(!t||"string"!=typeof t)throw new TypeError("must specify a URL");"function"==typeof e&&(r=e,e={});if(r&&"function"!=typeof r)throw new TypeError("expected cb to be undefined or a function");r=r||u;var f=(e=e||{}).json?"json":"text",c=(e=o({responseType:f},e)).headers||{},h=(e.method||"GET").toUpperCase(),d=e.query;d&&("string"!=typeof d&&(d=n.stringify(d)),t=i(t,d));"json"===e.responseType&&a(c,"Accept","application/json");e.json&&"GET"!==h&&"HEAD"!==h&&(a(c,"Content-Type","application/json"),e.body=JSON.stringify(e.body));return e.method=h,e.url=t,e.headers=c,delete e.query,delete e.json,s(e,r)}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(625),o=r(97),a=r(626);function s(t,e){return e.encode?e.strict?i(t):encodeURIComponent(t):t}function u(t){var e=t.indexOf("?");return-1===e?"":t.slice(e+1)}function f(t,e){var r=function(t){var e;switch(t.arrayFormat){case"index":return function(t,r,n){e=/\[(\d*)\]$/.exec(t),t=t.replace(/\[\d*\]$/,""),e?(void 0===n[t]&&(n[t]={}),n[t][e[1]]=r):n[t]=r};case"bracket":return function(t,r,n){e=/(\[\])$/.exec(t),t=t.replace(/\[\]$/,""),e?void 0!==n[t]?n[t]=[].concat(n[t],r):n[t]=[r]:n[t]=r};default:return function(t,e,r){void 0!==r[t]?r[t]=[].concat(r[t],e):r[t]=e}}}(e=o({arrayFormat:"none"},e)),i=Object.create(null);return"string"!=typeof t?i:(t=t.trim().replace(/^[?#&]/,""))?(t.split("&").forEach((function(t){var e=t.replace(/\+/g," ").split("="),n=e.shift(),o=e.length>0?e.join("="):void 0;o=void 0===o?null:a(o),r(a(n),o,i)})),Object.keys(i).sort().reduce((function(t,e){var r=i[e];return Boolean(r)&&"object"===(0,n.default)(r)&&!Array.isArray(r)?t[e]=function t(e){return Array.isArray(e)?e.sort():"object"===(0,n.default)(e)?t(Object.keys(e)).sort((function(t,e){return Number(t)-Number(e)})).map((function(t){return e[t]})):e}(r):t[e]=r,t}),Object.create(null))):i}e.extract=u,e.parse=f,e.stringify=function(t,e){!1===(e=o({encode:!0,strict:!0,arrayFormat:"none"},e)).sort&&(e.sort=function(){});var r=function(t){switch(t.arrayFormat){case"index":return function(e,r,n){return null===r?[s(e,t),"[",n,"]"].join(""):[s(e,t),"[",s(n,t),"]=",s(r,t)].join("")};case"bracket":return function(e,r){return null===r?s(e,t):[s(e,t),"[]=",s(r,t)].join("")};default:return function(e,r){return null===r?s(e,t):[s(e,t),"=",s(r,t)].join("")}}}(e);return t?Object.keys(t).sort(e.sort).map((function(n){var i=t[n];if(void 0===i)return"";if(null===i)return s(n,e);if(Array.isArray(i)){var o=[];return i.slice().forEach((function(t){void 0!==t&&o.push(r(n,t,o.length))})),o.join("&")}return s(n,e)+"="+s(i,e)})).filter((function(t){return t.length>0})).join("&"):""},e.parseUrl=function(t,e){return{url:t.split("?")[0]||"",query:f(u(t),e)}}},function(t,e,r){"use strict";t.exports=function(t){return encodeURIComponent(t).replace(/[!'()*]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=new RegExp("%[a-f0-9]{2}","gi"),o=new RegExp("(%[a-f0-9]{2})+","gi");function a(t,e){try{return decodeURIComponent(t.join(""))}catch(t){}if(1===t.length)return t;e=e||1;var r=t.slice(0,e),n=t.slice(e);return Array.prototype.concat.call([],a(r),a(n))}function s(t){try{return decodeURIComponent(t)}catch(n){for(var e=t.match(i),r=1;r0&&(h=setTimeout((function(){if(!f){f=!0,c.abort("timeout");var t=new Error("XMLHttpRequest timeout");t.code="ETIMEDOUT",i(t)}}),t.timeout)),c.setRequestHeader)for(s in m)m.hasOwnProperty(s)&&c.setRequestHeader(s,m[s]);else if(t.headers&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(t.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in t&&(c.responseType=t.responseType),"beforeSend"in t&&"function"==typeof t.beforeSend&&t.beforeSend(c),c.send(p||null),c}t.exports=u,t.exports.default=u,u.XMLHttpRequest=n.XMLHttpRequest||function(){},u.XDomainRequest="withCredentials"in new u.XMLHttpRequest?u.XMLHttpRequest:n.XDomainRequest,function(t,e){for(var r=0;r>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|s>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=s^(h<<1|d>>>31),r=u^(d<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(l<<1|p>>>31),r=c^(p<<1|l>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=d^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,B=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,N=t[2]<<1|t[3]>>>31,U=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,j=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,F=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,k=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&B,t[11]=x^~P&O,t[20]=N^~j&D,t[21]=U^~L&F,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&M,t[12]=E^~B&R,t[13]=P^~O&T,t[22]=j^~D&q,t[23]=L^~F&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&k,t[5]=w^~M&S,t[14]=B^~R&I,t[15]=O^~T&C,t[24]=D^~q&z,t[25]=F^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~k&m,t[7]=M^~S&b,t[16]=R^~I&A,t[17]=T^~C&x,t[26]=q^~z&N,t[27]=H^~K&U,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=k^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&P,t[28]=z^~N&j,t[29]=K^~U&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=a[n],t[1]^=a[n+1]},u=function(t){return function(e){var r;if("0x"===e.slice(0,2)){r=[];for(var a=2,u=e.length;a>2]|=e[l]<>2]|=r<>2]|=(192|r>>6)<>2]|=(128|63&r)<=57344?(u[b>>2]|=(224|r>>12)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<=f){for(t.start=b-f,t.block=u[c],b=0;b>2]|=i[3&b],t.lastByteIndex===f)for(u[0]=u[c],b=1;b>4&15]+n[15&p]+n[p>>12&15]+n[p>>8&15]+n[p>>20&15]+n[p>>16&15]+n[p>>28&15]+n[p>>24&15];v%c==0&&(s(d),b=0)}return"0x"+m}(function(t){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(t<<1)>>5,outputBlocks:t>>5,s:(e=[0,0,0,0,0,0,0,0,0,0],[].concat(e,e,e,e,e))};var e}(t),r)}};t.exports={keccak256:u(256),keccak512:u(512),keccak256s:u(256),keccak512s:u(512)}},function(t,e,r){"use strict";var n=function(t){return function(){return new Promise((function(e,r){var n,i=function(r){var n={},i=r.target.files.length,o=0;[].map.call(r.target.files,(function(r){var a=new FileReader;a.onload=function(a){var s=new Uint8Array(a.target.result);if("directory"===t){var u=r.webkitRelativePath;n[u.slice(u.indexOf("/")+1)]={type:"text/plain",data:s},++o===i&&e(n)}else if("file"===t){var f=r.webkitRelativePath;e({type:mimetype.lookup(f),data:s})}else e(s)},a.readAsArrayBuffer(r)}))};"directory"===t?((n=document.createElement("input")).addEventListener("change",i),n.type="file",n.webkitdirectory=!0,n.mozdirectory=!0,n.msdirectory=!0,n.odirectory=!0,n.directory=!0):((n=document.createElement("input")).addEventListener("change",i),n.type="file");var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),n.dispatchEvent(o)}))}};t.exports={data:n("data"),file:n("file"),directory:n("directory")}},function(t,e,r){"use strict";t.exports=function(t){var e=t.fs,r=t.files,n=t.os,i=t.path,o=t.child_process,a=t.mimetype,s=t.defaultArchives,u=t.request,f=t.downloadUrl,c=t.bytes,h=t.hash,d=t.pick,l=function(t){return function(e){for(var r={},n=0,i=t.length;n=400?n(new Error("Error ".concat(i.statusCode,"."))):r(new Uint8Array(e))}))}))}},b=function(t){return function(e){return function e(r){return function(n){return function(i){var o=function(t){return void 0===t.path?Promise.resolve():"application/bzz-manifest+json"===t.contentType?e(t.hash)(n+t.path)(i):Promise.resolve((r=n+t.path,function(t){return function(e){return e[r]=t,e}})(function(t){return{type:t.contentType,hash:t.hash}}(t))(i));var r};return m(t)(r).then((function(t){return JSON.parse(U(t)).entries})).then((function(t){return Promise.all(t.map(o))})).then((function(){return i}))}}}(e)("")({})}},v=function(t){return function(e){return b(t)(e).then((function(t){return l(Object.keys(t))(Object.keys(t).map((function(e){return t[e].hash})))}))}},y=function(t){return function(e){return b(t)(e).then((function(e){var r=Object.keys(e),n=r.map((function(t){return e[t].hash})),i=r.map((function(t){return e[t].type})),o=n.map(m(t));return Promise.all(o).then((function(t){return l(r)(function(t){return t.map((function(t,e){return{type:i[e],data:t}}))}(t))}))}))}},g=function(t){return function(e){return function(n){return r.download(p(t)(e))(n)}}},w=function(t){return function(e){return function(r){return v(t)(e).then((function(e){var n=[];for(var o in e)if(o.length>0){var a=i.join(r,o);n.push(g(t)(e[o])(a))}return Promise.all(n).then((function(){return r}))}))}}},_=function(t){return function(e){return new Promise((function(r,n){var i={body:"string"==typeof e?j(e):e,method:"POST"};u("".concat(t,"/bzz-raw:/"),i,(function(t,e){return t?n(t):r(e)}))}))}},M=function(t){return function(e){return function(r){return function(n){return function i(o){var a="/"===r[0]?r:"/"+r,s="".concat(t,"/bzz:/").concat(e).concat(a),f={method:"PUT",headers:{"Content-Type":n.type},body:n.data};return new Promise((function(t,e){u(s,f,(function(r,n){return r?e(r):-1!==n.indexOf("error")?e(n):t(n)}))})).catch((function(t){return o>0&&i(o-1)}))}(3)}}}},k=function(t){return function(e){return A(t)({"":e})}},S=function(t){return function(r){return e.readFile(r).then((function(e){return k(t)({type:a.lookup(r),data:e})}))}},A=function(t){return function(e){return _(t)("{}").then((function(r){return Object.keys(e).reduce((function(r,n){return r.then(function(r){return function(n){return M(t)(n)(r)(e[r])}}(n))}),Promise.resolve(r))}))}},x=function(t){return function(r){return e.readFile(r).then(_(t))}},E=function(t){return function(n){return function(i){return r.directoryTree(i).then((function(t){return Promise.all(t.map((function(t){return e.readFile(t)}))).then((function(e){var r=t.map((function(t){return t.slice(i.length)})),n=t.map((function(t){return a.lookup(t)||"text/plain"}));return l(r)(e.map((function(t,e){return{type:n[e],data:t}})))}))})).then((function(t){return(e=n?{"":t[n]}:{},function(t){var r={};for(var n in e)r[n]=e[n];for(var i in t)r[i]=t[i];return r})(t);var e})).then(A(t))}}},P=function(t){return function(e){if("data"===e.pick)return d.data().then(_(t));if("file"===e.pick)return d.file().then(k(t));if("directory"===e.pick)return d.directory().then(A(t));if(e.path)switch(e.kind){case"data":return x(t)(e.path);case"file":return S(t)(e.path);case"directory":return E(t)(e.defaultFile)(e.path)}else{if(e.length||"string"==typeof e)return _(t)(e);if(e instanceof Object)return A(t)(e)}return Promise.reject(new Error("Bad arguments"))}},B=function(t){return function(e){return function(r){return C(t)(e).then((function(n){return n?r?w(t)(e)(r):y(t)(e):r?g(t)(e)(r):m(t)(e)}))}}},O=function(t,e){var i=n.platform().replace("win32","windows")+"-"+("x64"===n.arch()?"amd64":"386"),o=(e||s)[i],a=f+o.archive+".tar.gz",u=o.archiveMD5,c=o.binaryMD5;return r.safeDownloadArchived(a)(u)(c)(t)},R=function(t){return new Promise((function(e,r){var n=o.spawn,i=function(t){return function(e){return-1!==(""+e).indexOf(t)}},a=t.account,s=t.password,u=t.dataDir,f=t.ensApi,c=t.privateKey,h=0,d=n(t.binPath,["--bzzaccount",a||c,"--datadir",u,"--ens-api",f]),l=function(t){0===h&&i("Passphrase")(t)?setTimeout((function(){h=1,d.stdin.write(s+"\n")}),500):i("Swarm http proxy started")(t)&&(h=2,clearTimeout(p),e(d))};d.stdout.on("data",l),d.stderr.on("data",l);var p=setTimeout((function(){return r(new Error("Couldn't start swarm process."))}),2e4)}))},T=function(t){return new Promise((function(e,r){t.stderr.removeAllListeners("data"),t.stdout.removeAllListeners("data"),t.stdin.removeAllListeners("error"),t.removeAllListeners("error"),t.removeAllListeners("exit"),t.kill("SIGINT");var n=setTimeout((function(){return t.kill("SIGKILL")}),8e3);t.once("close",(function(){clearTimeout(n),e()}))}))},I=function(t){return _(t)("test").then((function(t){return"c9a99c7d326dcc6316f32fe2625b311f6dc49a175e6877681ded93137d3569e7"===t})).catch((function(){return!1}))},C=function(t){return function(e){return m(t)(e).then((function(t){try{return!!JSON.parse(U(t)).entries}catch(t){return!1}}))}},N=function(t){return function(e,r,n,i,o){var a;return void 0!==e&&(a=t(e)),void 0!==r&&(a=t(r)),void 0!==n&&(a=t(n)),void 0!==i&&(a=t(i)),void 0!==o&&(a=t(o)),a}},U=function(t){return c.toString(c.fromUint8Array(t))},j=function(t){return c.toUint8Array(c.fromString(t))},L=function(t){return{download:function(e,r){return B(t)(e)(r)},downloadData:N(m(t)),downloadDataToDisk:N(g(t)),downloadDirectory:N(y(t)),downloadDirectoryToDisk:N(w(t)),downloadEntries:N(b(t)),downloadRoutes:N(v(t)),isAvailable:function(){return I(t)},upload:function(e){return P(t)(e)},uploadData:N(_(t)),uploadFile:N(k(t)),uploadFileFromDisk:N(k(t)),uploadDataFromDisk:N(x(t)),uploadDirectory:N(A(t)),uploadDirectoryFromDisk:N(E(t)),uploadToManifest:N(M(t)),pick:d,hash:h,fromString:j,toString:U}};return{at:L,local:function(t){return function(e){return I("http://localhost:8500").then((function(r){return r?e(L("http://localhost:8500")).then((function(){})):O(t.binPath,t.archives).onData((function(e){return(t.onProgress||function(){})(e.length)})).then((function(){return R(t)})).then((function(t){return e(L("http://localhost:8500")).then((function(){return t}))})).then(T)}))}},download:B,downloadBinary:O,downloadData:m,downloadDataToDisk:g,downloadDirectory:y,downloadDirectoryToDisk:w,downloadEntries:b,downloadRoutes:v,isAvailable:I,startProcess:R,stopProcess:T,upload:P,uploadData:_,uploadDataFromDisk:x,uploadFile:k,uploadFileFromDisk:S,uploadDirectory:A,uploadDirectoryFromDisk:E,uploadToManifest:M,pick:d,hash:h,fromString:j,toString:U}}}])})); +!function(){var r="object"===("undefined"==typeof window?"undefined":(0,i.default)(window))?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"===(void 0===t?"undefined":(0,i.default)(t))&&t.versions&&t.versions.node&&(r=e);for(var o=!r.JS_SHA3_NO_COMMON_JS&&"object"===(0,i.default)(n)&&n.exports,a="0123456789abcdef".split(""),s=[0,8,16,24],u=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],f=[224,256,384,512],c=["hex","buffer","arrayBuffer","array"],h=function(t,e,r){return function(n){return new k(t,e,t).update(n)[r]()}},l=function(t,e,r){return function(n,i){return new k(t,e,i).update(n)[r]()}},d=function(t,e){var r=h(t,e,"hex");r.create=function(){return new k(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}k.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,o=this.blocks,a=this.byteCount,u=this.blockCount,f=0,c=this.s;f>2]|=t[f]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(o[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=o[u],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+a[15&t]+a[t>>12&15]+a[t>>8&15]+a[t>>20&15]+a[t>>16&15]+a[t>>28&15]+a[t>>24&15];s%e==0&&(M(r),o=0)}return i&&(t=r[o],i>0&&(u+=a[t>>4&15]+a[15&t]),i>1&&(u+=a[t>>12&15]+a[t>>8&15]),i>2&&(u+=a[t>>20&15]+a[t>>16&15])),u},k.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%r==0&&M(n)}return o&&(t=s<<2,e=n[a],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var M=function(t){var e,r,n,i,o,a,s,f,c,h,l,d,p,m,b,v,y,g,w,_,k,M,S,A,x,E,O,P,B,T,R,I,C,U,j,N,L,F,D,q,H,z,K,G,V,W,Z,J,X,Y,$,Q,tt,et,rt,nt,it,ot,at,st,ut,ft,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],f=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],l=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(h<<1|l>>>31),r=s^(l<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(d<<1|p>>>31),r=c^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,P=t[20]<<3|t[21]>>>29,B=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,U=t[2]<<1|t[3]>>>31,j=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,T=t[33]<<13|t[32]>>>19,R=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,N=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,k=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,O=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,M=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&P,t[11]=x^~O&B,t[20]=U^~N&F,t[21]=j^~L&D,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&k,t[12]=E^~P&T,t[13]=O^~B&R,t[22]=N^~F&q,t[23]=L^~D&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&M,t[5]=w^~k&S,t[14]=P^~T&I,t[15]=B^~R&C,t[24]=F^~q&z,t[25]=D^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~M&m,t[7]=k^~S&b,t[16]=T^~I&A,t[17]=R^~C&x,t[26]=q^~z&U,t[27]=H^~K&j,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=M^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&O,t[28]=z^~U&N,t[29]=K^~j&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=u[n],t[1]^=u[n+1]};if(o)n.exports=m;else for(v=0;v>23,l=c>>21&3,d=c>>5&65535,p=31&c,m=e.mapStr.substr(d,p);if(0===l||n&&1&h)throw new Error("Illegal char "+f);1===l?o.push(m):2===l?o.push(i?m:f):3===l&&o.push(f)}return o.join("").normalize("NFC")}function n(e,n,o){void 0===o&&(o=!1);var a=r(e,o,n).split(".");return(a=a.map((function(e){return e.startsWith("xn--")?i(e=t.decode(e.substring(4)),o,!1):i(e,o,n),e}))).join(".")}function i(t,n,i){if("-"===t[2]&&"-"===t[3])throw new Error("Failed to validate "+t);if(t.startsWith("-")||t.endsWith("-"))throw new Error("Failed to validate "+t);if(t.includes("."))throw new Error("Failed to validate "+t);if(r(t,n,i)!==t)throw new Error("Failed to validate "+t);var o=t.codePointAt(0);if(e.mapChar(o)&2<<23)throw new Error("Label contains illegal character: "+o)}return{toUnicode:function(t,e){return void 0===e&&(e={}),n(t,!1,"useStd3ASCII"in e&&e.useStd3ASCII)},toAscii:function(e,r){void 0===r&&(r={});var i,o=!("transitional"in r)||r.transitional,a="useStd3ASCII"in r&&r.useStd3ASCII,s="verifyDnsLength"in r&&r.verifyDnsLength,u=n(e,o,a).split(".").map(t.toASCII),f=u.join(".");if(s){if(f.length<1||f.length>253)throw new Error("DNS name has wrong length: "+f);for(i=0;i63)throw new Error("DNS label has wrong length: "+c)}}return f}}}(t,e)}.apply(e,n))||(t.exports=i)},function(t,e,r){"use strict";var n;r(0)(r(2));void 0===(n=function(){return t=[new Uint32Array([2157250,2157314,2157378,2157442,2157506,2157570,2157634,0,2157698,2157762,2157826,2157890,2157954,0,2158018,0]),new Uint32Array([2179041,6291456,2179073,6291456,2179105,6291456,2179137,6291456,2179169,6291456,2179201,6291456,2179233,6291456,2179265,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([0,2113729,2197345,2197377,2113825,2197409,2197441,2113921,2197473,2114017,2197505,2197537,2197569,2197601,2197633,2197665]),new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672,23068672,0,0,0,0,23068672]),new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064]),new Uint32Array([2196001,2196033,2196065,2196097,2196129,2196161,2196193,2196225,2196257,2196289,2196321,2196353,2196385,2196417,2196449,2196481]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,0,0,0,0,0]),new Uint32Array([2097281,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([2177025,6291456,2177057,6291456,2177089,6291456,2177121,6291456,2177153,6291456,2177185,6291456,2177217,6291456,2177249,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456]),new Uint32Array([2134435,2134531,2134627,2134723,2134723,2134819,2134819,2134915,2134915,2135011,2105987,2135107,2135203,2135299,2131587,2135395]),new Uint32Array([0,0,0,0,0,0,0,6291456,2168673,2169249,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354,2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354]),new Uint32Array([2125219,2125315,2152834,2152898,2125411,2152962,2153026,2125506,2125507,2125603,2153090,2153154,2153218,2153282,2153346,2105348]),new Uint32Array([2203393,6291456,2203425,6291456,2203457,6291456,2203489,6291456,6291456,6291456,6291456,2203521,6291456,2181281,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,6291456,2145538,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,6291456]),new Uint32Array([2139426,2160834,2160898,2160962,2134242,2161026,2161090,2161154,2161218,2161282,2161346,2161410,2138658,2161474,2161538,2134722]),new Uint32Array([2119939,2124930,2125026,2106658,2125218,2128962,2129058,2129154,2129250,2129346,2129442,2108866,2108770,2150466,2150530,2150594]),new Uint32Array([2201601,6291456,2201633,6291456,2201665,6291456,2201697,6291456,2201729,6291456,2201761,6291456,2201793,6291456,2201825,6291456]),new Uint32Array([2193537,2193569,2193601,2193633,2193665,2193697,2193729,2193761,2193793,2193825,2193857,2193889,2193921,2193953,2193985,2194017]),new Uint32Array([6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2190561,6291456,2190593,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2190625,6291456,2190657,6291456,23068672]),new Uint32Array([2215905,2215937,2215969,2216001,2216033,2216065,2216097,2216129,2216161,2216193,2216225,2216257,2105441,2216289,2216321,2216353]),new Uint32Array([23068672,18884130,23068672,23068672,23068672,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2191233,2191265,2191297,2191329,2191361,2191393,2191425,2117377,2191457,2191489,2191521,2191553,2191585,2191617,2191649,2117953]),new Uint32Array([2132227,2132323,2132419,2132419,2132515,2132515,2132611,2132707,2132707,2132803,2132899,2132899,2132995,2132995,2133091,2133187]),new Uint32Array([0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,0,0]),new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10609889,10610785,10609921,10610817,2222241]),new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),new Uint32Array([2219969,2157121,2157441,2157505,2157889,2157953,2220001,2158465,2158529,10575617,2156994,2157058,2129923,2130019,2157122,2157186]),new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2185249,6291456,2185281,6291456,2185313,6291456,2185345,6291456,2185377,6291456,2185409,6291456,2185441,6291456,2185473,6291456]),new Uint32Array([0,0,0,0,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,6291456,0]),new Uint32Array([2183361,6291456,2183393,6291456,2183425,6291456,2183457,6291456,2183489,6291456,2183521,6291456,2183553,6291456,2183585,6291456]),new Uint32Array([2192161,2192193,2192225,2192257,2192289,2192321,2192353,2192385,2192417,2192449,2192481,2192513,2192545,2192577,2192609,2192641]),new Uint32Array([2212001,2212033,2212065,2212097,2212129,2212161,2212193,2212225,2212257,2212289,2212321,2212353,2212385,2212417,2212449,2207265]),new Uint32Array([2249825,2249857,2249889,2249921,2249954,2250018,2250082,2250145,2250177,2250209,2250241,2250274,2250337,2250370,2250433,2250465]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147905,2147969,2148033,2148097,2148161,2148225,2148289,2148353]),new Uint32Array([10485857,6291456,2197217,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2180353,2180385,2144033,2180417,2180449,2180481,2180513,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10610209,10610465,10610241,10610753,10609857]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),new Uint32Array([2223842,2223906,2223970,2224034,2224098,2224162,2224226,2224290,2224354,2224418,2224482,2224546,2224610,2224674,2224738,2224802]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([23068672,23068672,23068672,18923650,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,18923714,23068672,23068672]),new Uint32Array([2126179,2125538,2126275,2126371,2126467,2125634,2126563,2105603,2105604,2125346,2126659,2126755,2126851,2098179,2098181,2098182]),new Uint32Array([2227426,2227490,2227554,2227618,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2192353,2240642,2240642,2240705,2240737,2240737,2240769,2240802,2240866,2240929,2240961,2240993,2241025,2241057,2241089,2241121]),new Uint32Array([6291456,2170881,2170913,2170945,6291456,2170977,6291456,2171009,2171041,6291456,6291456,6291456,2171073,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2132226,2132514,2163586,2132610,2160386,2133090,2133186,2160450,2160514,2160578,2133570,2106178,2160642,2133858,2160706,2160770]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10532162,10532226,10532290,10532354,10532418,10532482,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),new Uint32Array([2098209,2108353,2108193,2108481,2170241,2111713,2105473,2105569,2105601,2112289,2112481,2098305,2108321,0,0,0]),new Uint32Array([2209121,2209153,2209185,2209217,2209249,2209281,2209313,2209345,2209377,2209409,2209441,2209473,2207265,2209505,2209537,2209569]),new Uint32Array([2189025,6291456,2189057,6291456,2189089,6291456,2189121,6291456,2189153,6291456,2189185,6291456,2189217,6291456,2189249,6291456]),new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2165764,2140004]),new Uint32Array([2215105,6291456,2215137,6291456,6291456,2215169,2215201,6291456,6291456,6291456,2215233,2215265,2215297,2215329,2215361,2215393]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,23068672,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([10505091,10505187,10505283,10505379,10505475,10505571,10505667,10505763,10505859,10505955,10506051,10506147,10506243,10506339,10506435,10506531]),new Uint32Array([2229730,2229794,2229858,2229922,2229986,2230050,2230114,2230178,2230242,2230306,2230370,2230434,2230498,2230562,2230626,2230690]),new Uint32Array([2105505,2098241,2108353,2108417,2105825,0,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),new Uint32Array([6291456,6291456,6291456,6291456,10502115,10502178,10502211,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),new Uint32Array([2190305,6291456,2190337,6291456,2190369,6291456,2190401,6291456,2190433,6291456,2190465,6291456,2190497,6291456,2190529,6291456]),new Uint32Array([2173793,2173985,2174017,6291456,2173761,2173697,6291456,2174689,6291456,2174017,2174721,6291456,6291456,2174753,2174785,2174817]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609,2100033]),new Uint32Array([2132898,2163842,2163906,2133282,2132034,2131938,2137410,2132802,2132706,2164866,2133282,2160578,2165186,2165186,6291456,6291456]),new Uint32Array([10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059,10501155,10501251,10501347,10501443]),new Uint32Array([2163458,2130978,2131074,2131266,2131362,2163522,2160130,2132066,2131010,2131106,2106018,2131618,2131298,2132034,2131938,2137410]),new Uint32Array([2212961,2116993,2212993,2213025,2213057,2213089,2213121,2213153,2213185,2213217,2213249,2209633,2213281,2213313,2213345,2213377]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2113729,2113825,2113921,2114017,2114113,2114209,2114305,2114401,2114497,2114593,2114689,2114785,2114881,2114977,2115073,2115169]),new Uint32Array([2238177,2238209,2238241,2238273,2238305,2238337,2238337,2217537,2238369,2238401,2238433,2238465,2215649,2238497,2238529,2238561]),new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0]),new Uint32Array([6291456,0,6291456,2145026,0,6291456,2145090,0,6291456,6291456,0,0,23068672,0,23068672,23068672]),new Uint32Array([2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129,2100289]),new Uint32Array([6291456,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0]),new Uint32Array([2187681,2187713,2187745,2187777,2187809,2187841,2187873,2187905,2187937,2187969,2188001,2188033,2188065,2188097,2188129,2188161]),new Uint32Array([0,10554498,10554562,10554626,10554690,10554754,10554818,10554882,10554946,10555010,10555074,6291456,6291456,0,0,0]),new Uint32Array([2235170,2235234,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0]),new Uint32Array([2181153,6291456,2188897,6291456,6291456,2188929,6291456,6291456,6291456,6291456,6291456,6291456,2111905,2100865,2188961,2188993]),new Uint32Array([2100833,2100897,0,0,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,2112289]),new Uint32Array([6291456,2172833,6291456,2172865,2172897,2172929,2172961,6291456,2172993,6291456,2173025,6291456,2173057,6291456,2173089,6291456]),new Uint32Array([6291456,0,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,2190721]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456]),new Uint32Array([2184993,6291456,2185025,6291456,2185057,6291456,2185089,6291456,2185121,6291456,2185153,6291456,2185185,6291456,2185217,6291456]),new Uint32Array([2115265,2115361,2115457,2115553,2115649,2115745,2115841,2115937,2116033,2116129,2116225,2116321,2150658,2150722,2200225,6291456]),new Uint32Array([2168321,6291456,2168353,6291456,2168385,6291456,2168417,6291456,2168449,6291456,2168481,6291456,2168513,6291456,2168545,6291456]),new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,0,6291456,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,2186625,0,0,6291456,6291456,2186657,2186689,2186721,2173505,0,10496067,10496163,10496259]),new Uint32Array([2178785,6291456,2178817,6291456,2178849,6291456,2178881,6291456,2178913,6291456,2178945,6291456,2178977,6291456,2179009,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),new Uint32Array([2097152,0,0,0,2097152,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,2197857,2197889,2197921,2197953,2197985,2198017,0,0,2198049,2198081,2198113,2198145,2198177,2198209]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2098209,2167297,2111137,6291456]),new Uint32Array([2171393,6291456,2171425,6291456,2171457,6291456,2171489,6291456,2171521,6291456,2171553,6291456,2171585,6291456,2171617,6291456]),new Uint32Array([2206753,2206785,2195457,2206817,2206849,2206881,2206913,2197153,2197153,2206945,2117857,2206977,2207009,2207041,2207073,2207105]),new Uint32Array([0,0,0,0,0,0,0,23068672,0,0,0,0,2144834,2144898,0,2144962]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672]),new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,0,2105505,2098241]),new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,2202049,6291456,2202081,6291456,2202113,6291456,2202145,6291456,2202177,6291456,2202209,6291456,2202241,6291456]),new Uint32Array([10501155,10501251,10501347,10501443,10501539,10501635,10501731,10501827,10501923,10502019,2141731,2105505,2098177,2155586,2166530,0]),new Uint32Array([2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441]),new Uint32Array([2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330,2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([10502307,10502403,10502499,10502595,10502691,10502787,10502883,10502979,10503075,10503171,10503267,10503363,10503459,10503555,10503651,10503747]),new Uint32Array([2179937,2179969,2180001,2180033,2156545,2180065,2156577,2180097,2180129,2180161,2180193,2180225,2180257,2180289,2156737,2180321]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,0,0,6291456,0,0,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),new Uint32Array([2227682,2227746,2227810,2227874,2227938,2228002,2228066,2228130,2228194,2228258,2228322,2228386,2228450,2228514,2228578,2228642]),new Uint32Array([2105601,2169121,2108193,2170049,2181025,2181057,2112481,2108321,2108289,2181089,2170497,2100865,2181121,2173601,2173633,2173665]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180641,6291456,6291456,6291456]),new Uint32Array([0,6291456,6291456,6291456,0,6291456,0,6291456,0,0,6291456,6291456,0,6291456,6291456,6291456]),new Uint32Array([2178273,6291456,2178305,6291456,2178337,6291456,2178369,6291456,2178401,6291456,2178433,6291456,2178465,6291456,2178497,6291456]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),new Uint32Array([2237377,2237409,2236225,2237441,2237473,2217441,2215521,2215553,2217473,2237505,2237537,2209697,2237569,2215585,2237601,2237633]),new Uint32Array([2221985,2165601,2165601,2165665,2165665,2222017,2222017,2165729,2165729,2158913,2158913,2158913,2158913,2097281,2097281,2105921]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2149634,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2176897,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2176929,6291456,2176961,6291456,2176993,6291456]),new Uint32Array([2172641,6291456,2172673,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2172705,2172737,6291456,2172769,2172801,6291456]),new Uint32Array([2099173,2104196,2121667,2099395,2121763,2152258,2152322,2098946,2152386,2121859,2121955,2099333,2122051,2104324,2099493,2122147]),new Uint32Array([6291456,6291456,6291456,2145794,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2145858,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,0,0,6291456,0]),new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,0,2097505,2105889,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2239074,2239138,2239201,2239233,2239265,2239297,2239329,2239361,0,2239393,2239425,2239425,2239458,2239521,2239553,2209569]),new Uint32Array([14680064,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,6291456,23068672]),new Uint32Array([2108321,2108289,2113153,2098209,2180897,2180929,2180961,2111137,2098241,2108353,2170241,2170273,2180993,2105825,6291456,2105473]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146114,6291456,6291456,6291456,0,0,0]),new Uint32Array([2105921,2105921,2105921,2222049,2222049,2130977,2130977,2130977,2130977,2160065,2160065,2160065,2160065,2097729,2097729,2097729]),new Uint32Array([2218145,2214785,2207937,2218177,2218209,2192993,2210113,2212769,2218241,2218273,2216129,2218305,2216161,2218337,2218369,2218401]),new Uint32Array([0,0,0,2156546,2156610,2156674,2156738,2156802,0,0,0,0,0,2156866,23068672,2156930]),new Uint32Array([23068672,23068672,23068672,0,0,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),new Uint32Array([2213409,2213441,2213473,2213505,2213537,2213569,2213601,2213633,2213665,2195681,2213697,2213729,2213761,2213793,2213825,2213857]),new Uint32Array([2100033,2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2201857,6291456,2201889,6291456,2201921,6291456,2201953,6291456,2201985,6291456,2202017,6291456,2176193,2176257,23068672,23068672]),new Uint32Array([6291456,6291456,23068672,23068672,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2188193,2188225,2188257,2188289,2188321,2188353,2188385,2188417,2188449,2188481,2188513,2188545,2188577,2188609,2188641,0]),new Uint32Array([10554529,2221089,0,10502113,10562017,10537921,10538049,2221121,2221153,0,0,0,0,0,0,0]),new Uint32Array([2213889,2213921,2213953,2213985,2214017,2214049,2214081,2194177,2214113,2214145,2214177,2214209,2214241,2214273,2214305,2214337]),new Uint32Array([2166978,2167042,2099169,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180545,6291456,6291456,6291456]),new Uint32Array([10518915,10519011,10519107,10519203,2162242,2162306,2159554,2162370,2159362,2159618,2105922,2162434,2159746,2162498,2159810,2159874]),new Uint32Array([2161730,2161794,2135586,2161858,2161922,2137186,2131810,2160290,2135170,2161986,2137954,2162050,2162114,2162178,10518723,10518819]),new Uint32Array([10506627,10506723,10506819,10506915,10507011,10507107,10507203,10507299,10507395,10507491,10507587,10507683,10507779,10507875,10507971,10508067]),new Uint32Array([6291456,23068672,23068672,23068672,0,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]),new Uint32Array([2175873,2175905,2175937,2175969,2176001,2176033,2176065,2176097,2176129,2176161,2176193,2176225,2176257,2176289,2176321,2176353]),new Uint32Array([2140006,2140198,2140390,2140582,2140774,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,23068672,23068672,23068672]),new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241]),new Uint32Array([0,23068672,0,0,0,0,0,0,0,2145154,2145218,2145282,6291456,0,2145346,0]),new Uint32Array([0,0,0,0,10531458,10495395,2148545,2143201,2173473,2148865,2173505,0,2173537,0,2173569,2149121]),new Uint32Array([10537282,10495683,2148738,2148802,2148866,0,6291456,2148930,2186593,2173473,2148737,2148865,2148802,10495779,10495875,10495971]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2215425,2215457,2215489,2215521,2215553,2215585,2215617,2215649,2215681,2215713,2215745,2215777,2192033,2215809,2215841,2215873]),new Uint32Array([2242049,2242081,2242113,2242145,2242177,2242209,2242241,2242273,2215937,2242305,2242338,2242401,2242433,2242465,2242497,2216001]),new Uint32Array([10554529,2221089,0,0,10562017,10502113,10538049,10537921,2221185,10489601,10489697,10609889,10609921,2141729,2141793,10610273]),new Uint32Array([2141923,2142019,2142115,2142211,2142307,2142403,2142499,2142595,2142691,0,0,0,0,0,0,0]),new Uint32Array([0,2221185,2221217,10609857,10609857,10489601,10489697,10609889,10609921,2141729,2141793,2221345,2221377,2221409,2221441,2187105]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18923970,23068672,23068672,23068672,0,6291456,6291456]),new Uint32Array([2183105,6291456,2183137,6291456,2183169,6291456,2183201,6291456,2183233,6291456,2183265,6291456,2183297,6291456,2183329,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([2134434,2134818,2097666,2097186,2097474,2097698,2105986,2131586,2132450,2131874,2131778,2135970,2135778,2161602,2136162,2161666]),new Uint32Array([2236865,2236897,2236930,2236993,2237025,2235681,2237058,2237121,2237153,2237185,2237217,2217281,2237250,2191233,2237313,2237345]),new Uint32Array([2190049,6291456,2190081,6291456,2190113,6291456,2190145,6291456,2190177,6291456,2190209,6291456,2190241,6291456,2190273,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2101922,2102050,2102178,2102306,10498755,10498851,10498947,10499043,10499139,10499235,10499331,10499427,10499523,10489604,10489732,10489860]),new Uint32Array([2166914,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2181601,2170561,2181633,2181665,2170753,2181697,2172897,2170881,2181729,2170913,2172929,2113441,2181761,2181793,2171009,2173761]),new Uint32Array([0,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([2248001,2248033,2248066,2248130,2248193,2248226,2248289,2248322,2248385,2248417,2216673,2248450,2248514,2248577,2248610,2248673]),new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,0,0,0]),new Uint32Array([2169729,6291456,2169761,6291456,2169793,6291456,2169825,6291456,2169857,2169889,6291456,2169921,6291456,2143329,6291456,2098305]),new Uint32Array([2162178,2163202,2163266,2135170,2136226,2161986,2137954,2159426,2159490,2163330,2159554,2163394,2159682,2139522,2136450,2159746]),new Uint32Array([2173953,2173985,0,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2174209,2174241,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,4271169,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2174273]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,2190785,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2189793,6291456,2189825,6291456,2189857,6291456,2189889,6291456,2189921,6291456,2189953,6291456,2189985,6291456,2190017,6291456]),new Uint32Array([2105601,2112289,2108193,2112481,2112577,0,2098305,2108321,2108289,2100865,2113153,2108481,2113345,0,2098209,2111137]),new Uint32Array([2172129,6291456,2172161,6291456,2172193,6291456,2172225,6291456,2172257,6291456,2172289,6291456,2172321,6291456,2172353,6291456]),new Uint32Array([2214753,6291456,2214785,6291456,6291456,2214817,2214849,2214881,2214913,2214945,2214977,2215009,2215041,2215073,2194401,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([0,0,0,0,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([10610305,10610337,10575617,2221761,10610401,10610433,10502177,0,10610465,10610497,10610529,10610561,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,0,0,0,0,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2187105,2187137,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2199393,2199425,2199457,2199489,2199521,2199553,2199585,2199617,2199649,2199681,2199713,2199745,2199777,2199809,2199841,0]),new Uint32Array([2217249,2217281,2217313,2217345,2217377,2217409,2217441,2217473,2215617,2217505,2217537,2217569,2214753,2217601,2217633,2217665]),new Uint32Array([2170273,2170305,6291456,2170337,2170369,6291456,2170401,2170433,2170465,6291456,6291456,6291456,2170497,2170529,6291456,2170561]),new Uint32Array([2188673,6291456,2188705,2188737,2188769,6291456,6291456,2188801,6291456,2188833,6291456,2188865,6291456,2180929,2181505,2180897]),new Uint32Array([10489988,10490116,10490244,10490372,10490500,10490628,10490756,10490884,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147393,2147457,2147521,2147585,2147649,2147713,2147777,2147841]),new Uint32Array([23068672,23068672,0,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2241153,2241185,2241217,2215809,2241250,2241313,2241345,2241377,2217921,2241377,2241409,2215873,2241441,2241473,2241505,2241537]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2220417,2220417,2220449,2220449,2220481,2220481,2220513,2220513,2220545,2220545,2220577,2220577,2220609,2220609,2220641,2220641]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2144002,0,6291456,6291456,0,0,6291456,6291456,6291456]),new Uint32Array([2167105,2167137,2167169,2167201,2167233,2167265,2167297,2167329,2167361,2167393,2167425,2167457,2167489,2167521,2167553,2167585]),new Uint32Array([10575521,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),new Uint32Array([2234146,2234210,2234274,2234338,2234402,2234466,2234530,2234594,2234658,2234722,2234786,2234850,2234914,2234978,2235042,2235106]),new Uint32Array([0,0,0,0,0,0,0,2180577,0,0,0,0,0,2180609,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456]),new Uint32Array([2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2242529,2242561,2242593,2242625,2242657,2242689,2242721,2242753,2207937,2218177,2242785,2242817,2242849,2242882,2242945,2242977]),new Uint32Array([2118049,2105345,2118241,2105441,2118433,2118529,2118625,2118721,2118817,2200257,2200289,2191809,2200321,2200353,2200385,2200417]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([2185505,6291456,2185537,6291456,2185569,6291456,2185601,6291456,2185633,6291456,2185665,6291456,2185697,6291456,2185729,6291456]),new Uint32Array([2231970,2232034,2232098,2232162,2232226,2232290,2232354,2232418,2232482,2232546,2232610,2232674,2232738,2232802,2232866,2232930]),new Uint32Array([2218625,2246402,2246466,2246530,2246594,2246657,2246689,2246689,2218657,2219681,2246721,2246753,2246785,2246818,2246881,2208481]),new Uint32Array([2197025,2197057,2197089,2197121,2197153,2197185,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2219137,2216961,2219169,2219201,2219233,2219265,2219297,2217025,2215041,2219329,2217057,2219361,2217089,2219393,2197153,2219426]),new Uint32Array([23068672,23068672,23068672,0,0,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713]),new Uint32Array([2243522,2243585,2243617,2243649,2243681,2210113,2243713,2243746,2243810,2243874,2243937,2243970,2244033,2244065,2244097,2244129]),new Uint32Array([2178017,6291456,2178049,6291456,2178081,6291456,2178113,6291456,2178145,6291456,2178177,6291456,2178209,6291456,2178241,6291456]),new Uint32Array([10553858,2165314,10518722,6291456,10518818,0,10518914,2130690,10519010,2130786,10519106,2130882,10519202,2165378,10554050,2165506]),new Uint32Array([0,0,2135491,2135587,2135683,2135779,2135875,2135971,2135971,2136067,2136163,2136259,2136355,2136355,2136451,2136547]),new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2220033,2220033,2220065,2220065,2220065,2220065,2220097,2220097,2220097,2220097,2220129,2220129,2220129,2220129,2220161,2220161]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2100897,2100898,2100899,2150018,2100865,2100866,2100867,2100868,2150082,2108481,2109858,2109859,2105569,2105505,2098241,2105601]),new Uint32Array([2097217,2097505,2097505,2097505,2097505,2165570,2165570,2165634,2165634,2165698,2165698,2097858,2097858,0,0,2097152]),new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([10503843,10503939,10504035,10504131,10504227,10504323,10504419,10504515,10504611,10504707,10504803,10504899,10504995,10491140,10491268,0]),new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,2235297,2220769,2235329,2235361]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2222401,2222433,2222465,10531394,2222497,2222529,2222561,0,2222593,2222625,2222657,2222689,2222721,2222753,2222785,0]),new Uint32Array([2184481,6291456,2184513,6291456,2184545,6291456,2184577,6291456,2184609,6291456,2184641,6291456,2184673,6291456,2184705,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0]),new Uint32Array([2105570,2156034,2126947,2156098,2153666,2127043,2127139,2156162,0,2127235,2156226,2156290,2156354,2156418,2127331,2127427]),new Uint32Array([2215905,2207041,2153185,2241569,2241601,2241633,2241665,2241697,2241730,2241793,2241825,2241857,2241889,2241921,2241954,2242017]),new Uint32Array([2203777,6291456,2203809,6291456,2203841,6291456,2203873,6291456,2203905,6291456,2173121,2180993,2181249,2203937,2181313,0]),new Uint32Array([2168577,6291456,2168609,6291456,2168641,6291456,2168673,6291456,2168705,6291456,2168737,6291456,2168769,6291456,2168801,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,0,0]),new Uint32Array([2210113,2195521,2210145,2210177,2210209,2210241,2210273,2210305,2210337,2210369,2210401,2210433,2210465,2210497,2210529,2210561]),new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([2228706,2228770,2228834,2228898,2228962,2229026,2229090,2229154,2229218,2229282,2229346,2229410,2229474,2229538,2229602,2229666]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,18874368,18874368,18874368,0,0]),new Uint32Array([2133089,2133281,2133281,2133281,2133281,2160577,2160577,2160577,2160577,2097441,2097441,2097441,2097441,2133857,2133857,2133857]),new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089]),new Uint32Array([2178529,6291456,2178561,6291456,2178593,6291456,2178625,6291456,2178657,6291456,2178689,6291456,2178721,6291456,2178753,6291456]),new Uint32Array([2221025,2221025,2221057,2221057,2159329,2159329,2159329,2159329,2097217,2097217,2158914,2158914,2158978,2158978,2159042,2159042]),new Uint32Array([2208161,2208193,2208225,2208257,2194433,2208289,2208321,2208353,2208385,2208417,2208449,2208481,2208513,2208545,2208577,2208609]),new Uint32Array([2169217,6291456,2169249,6291456,2169281,6291456,2169313,6291456,2169345,6291456,2169377,6291456,2169409,6291456,2169441,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([2133187,2133283,2133283,2133379,2133475,2133571,2133667,2133667,2133763,2133859,2133955,2134051,2134147,2134147,2134243,2134339]),new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,0]),new Uint32Array([2193089,2193121,2193153,2193185,2117665,2117569,2193217,2193249,2193281,2193313,2193345,2193377,2193409,2193441,2193473,2193505]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2184225,6291456,2184257,6291456,2184289,6291456,2184321,6291456,2184353,6291456,2184385,6291456,2184417,6291456,2184449,6291456]),new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2100833,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2200801,2200833,2200865,0]),new Uint32Array([23068672,23068672,23068672,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]),new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2181153,2105505,2181185,2167617,2180993]),new Uint32Array([2160002,2160066,2160130,2160194,2160258,2132066,2131010,2131106,2106018,2131618,2160322,2131298,2132034,2131938,2137410,2132226]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,6291456]),new Uint32Array([2183617,6291456,2183649,6291456,2183681,6291456,2183713,6291456,2183745,6291456,2183777,6291456,2183809,6291456,2183841,6291456]),new Uint32Array([0,6291456,6291456,0,6291456,0,0,6291456,6291456,0,6291456,0,0,6291456,0,0]),new Uint32Array([2250977,2251009,2251041,2251073,2195009,2251106,2251169,2251201,2251233,2251265,2251297,2251330,2251394,2251457,2251489,2251521]),new Uint32Array([2205729,2205761,2205793,2205825,2205857,2205889,2205921,2205953,2205985,2206017,2206049,2206081,2206113,2206145,2206177,2206209]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2143170,2168993,6291456,2169025,6291456,2169057,6291456,2169089,6291456,2143234,2169121,6291456,2169153,6291456,2169185,6291456]),new Uint32Array([23068672,23068672,2190689,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2248706,2248769,2248801,2248833,2248865,2248897,2248929,2248962,2249026,2249090,2249154,2240705,2249217,2249249,2249281,2249313]),new Uint32Array([10485857,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10495394,6291456,2098209,6291456,6291456,2097152,6291456,10531394]),new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),new Uint32Array([6291456,2186977,6291456,6291456,6291456,6291456,6291456,10537858,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2209601,2209633,2209665,2209697,2209729,2209761,2209793,2209825,2209857,2209889,2209921,2209953,2209985,2210017,2210049,2210081]),new Uint32Array([10501539,10501635,10501731,10501827,10501923,10502019,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]),new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2194561,2194593,2194625,2119777,2119873,2194657,2194689,2194721,2194753,2194785,2194817,2194849,2194881,2194913,2194945,2194977]),new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569]),new Uint32Array([2222818,2222882,2222946,2223010,2223074,2223138,2223202,2223266,2223330,2223394,2223458,2223522,2223586,2223650,2223714,2223778]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672]),new Uint32Array([0,2179553,2179585,2179617,2179649,2144001,2179681,2179713,2179745,2179777,2179809,2156705,2179841,2156833,2179873,2179905]),new Uint32Array([6291456,23068672,6291456,2145602,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,6291456,0,0]),new Uint32Array([2196513,2196545,2196577,2196609,2196641,2196673,2196705,2196737,2196769,2196801,2196833,2196865,2196897,2196929,2196961,2196993]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2177281,6291456,2177313,6291456,2177345,6291456,2177377,6291456,2177409,6291456,2177441,6291456,2177473,6291456,2177505,6291456]),new Uint32Array([2187137,2221473,2221505,2221537,2221569,6291456,6291456,10610209,10610241,10537986,10537986,10537986,10537986,10609857,10609857,10609857]),new Uint32Array([2243009,2243041,2216033,2243074,2243137,2243169,2243201,2219617,2243233,2243265,2243297,2243329,2243362,2243425,2243457,2243489]),new Uint32Array([10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,2097152,4194304,4194304,0,0]),new Uint32Array([2143042,6291456,2143106,2143106,2168833,6291456,2168865,6291456,6291456,2168897,6291456,2168929,6291456,2168961,6291456,2143170]),new Uint32Array([6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2204193,2204225,2204257,2204289,2204321,2204353,2204385,2204417,2204449,2204481,2204513,2204545,2204577,2204609,2204641,2204673]),new Uint32Array([2202753,6291456,2202785,6291456,2202817,6291456,2202849,6291456,2202881,6291456,2202913,6291456,2202945,6291456,2202977,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321]),new Uint32Array([2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842,2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842]),new Uint32Array([2253313,2253346,2253409,2253441,2253473,2253505,2253537,2253569,2253601,2253634,2219393,2253697,2253729,2253761,2253793,2253825]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([2162562,2162626,2131362,2162690,2159938,2160002,2162754,2162818,2160130,2162882,2160194,2160258,2160834,2160898,2161026,2161090]),new Uint32Array([2175361,2175393,2175425,2175457,2175489,2175521,2175553,2175585,2175617,2175649,2175681,2175713,2175745,2175777,2175809,2175841]),new Uint32Array([2253858,2253921,2253954,2254018,2254082,2196737,2254145,2196865,2254177,2254209,2254241,2254273,2197025,2254306,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2202113,2204129,2188705,2204161]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953]),new Uint32Array([2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209]),new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,0,2108417,0,2111713,2100897,2111905]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0]),new Uint32Array([2175425,2175489,2175809,2175905,2175937,2175937,2176193,2176417,2180865,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,2143298,2143298,2143298,2143362,2143362,2143362,2143426,2143426,2143426,2171105,6291456,2171137]),new Uint32Array([2120162,2120258,2151618,2151682,2151746,2151810,2151874,2151938,2152002,2120035,2120131,2120227,2152066,2120323,2152130,2120419]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2195361,2142433,2236065,2236097,2236129,2236161,2118241,2117473,2236193,2236225,2236257,2236289,0,0,0,0]),new Uint32Array([2189281,6291456,2189313,6291456,2189345,6291456,2189377,6291456,2189409,6291456,2189441,6291456,2189473,6291456,2189505,6291456]),new Uint32Array([6291456,6291456,2145922,6291456,6291456,6291456,6291456,2145986,6291456,6291456,6291456,6291456,2146050,6291456,6291456,6291456]),new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10502113,10562017,10610401,10502177,10610433,10538049]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,2186401,0,2186433,0,2186465,0,2186497]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,23068672,23068672]),new Uint32Array([0,0,2198241,2198273,2198305,2198337,2198369,2198401,0,0,2198433,2198465,2198497,0,0,0]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,0,23068672,23068672,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,2133281,2097505,2105889,0,2097697,2135777,2097633,2097441]),new Uint32Array([2197889,2197921,2197953,2197985,2198017,2198049,2198081,2198113,2198145,2198177,2198209,2198241,2198273,2198305,2198337,2198369]),new Uint32Array([2132514,2132610,2160386,2133090,2133186,2160450,2160514,2133282,2160578,2133570,2106178,2160642,2133858,2160706,2160770,2134146]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,23068672,6291456,23068672,23068672,6291456,23068672,0,0,0,0,0,0,0,0]),new Uint32Array([2184737,6291456,2184769,6291456,2184801,6291456,2184833,6291456,2184865,6291456,2184897,6291456,2184929,6291456,2184961,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,0,0]),new Uint32Array([6291456,6291456,6291456,2186753,6291456,6291456,6291456,6291456,2186785,2186817,2186849,2173569,2186881,10496355,10495395,10575521]),new Uint32Array([0,0,2097729,0,0,0,0,2106017,0,2097505,0,2097185,0,2135777,2097633,2097441]),new Uint32Array([2189537,6291456,2189569,6291456,2189601,6291456,2189633,6291456,2189665,6291456,2189697,6291456,2189729,6291456,2189761,6291456]),new Uint32Array([2202497,6291456,2202529,6291456,2202561,6291456,2202593,6291456,2202625,6291456,2202657,6291456,2202689,6291456,2202721,6291456]),new Uint32Array([2245217,2218369,2245249,2245282,2245345,2245377,2245410,2245474,2245537,2245569,2245601,2245633,2245665,2245665,2245697,2245729]),new Uint32Array([6291456,0,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,23068672,6291456,23068672,6291456,6291456,6291456,6291456,23068672,23068672]),new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2097281,2105921,2097729,2106081,2097377,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]),new Uint32Array([2176641,6291456,2176673,6291456,2176705,6291456,2176737,6291456,2176769,6291456,2176801,6291456,2176833,6291456,2176865,6291456]),new Uint32Array([2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2174369,2174369,0,0,2100833,2100737]),new Uint32Array([2116513,2190817,2190849,2190881,2190913,2190945,2116609,2190977,2191009,2191041,2191073,2117185,2191105,2191137,2191169,2191201]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456]),new Uint32Array([0,0,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]),new Uint32Array([2167617,2167649,2167681,2167713,2167745,2167777,2167809,6291456,2167841,2167873,2167905,2167937,2167969,2168001,2168033,4240130]),new Uint32Array([2165122,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122,2134562,2132162,2132834,2136866]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2186209,2186241,2186273,2186305,2186337,2186369,0,0]),new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([0,0,23068672,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),new Uint32Array([0,10537921,10610689,10610273,10610497,10610529,10610305,10610721,10489601,10489697,10610337,10575617,10554529,2221761,2197217,10496577]),new Uint32Array([2105473,2105569,2105601,2112289,0,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),new Uint32Array([2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481]),new Uint32Array([2125346,2153410,2153474,2127394,2153538,2153602,2153666,2153730,2105507,2105476,2153794,2153858,2153922,2153986,2154050,2105794]),new Uint32Array([2200449,2119681,2200481,2153313,2199873,2199905,2199937,2200513,2200545,2200577,2200609,2119105,2119201,2119297,2119393,2119489]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2175777,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2222273,2197217,2221473,2221505,2221089,2222305,2200865,2099681,2104481,2222337,2099905,2120737,2222369,2103713,2100225,2098785]),new Uint32Array([2201377,6291456,2201409,6291456,2201441,6291456,2201473,6291456,2201505,6291456,2201537,6291456,2201569,6291456,6291456,23068672]),new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),new Uint32Array([2200897,6291456,2200929,6291456,2200961,6291456,2200993,6291456,2201025,6291456,2180865,6291456,2201057,6291456,2201089,6291456]),new Uint32Array([0,0,0,0,0,23068672,23068672,0,6291456,6291456,6291456,0,0,0,0,0]),new Uint32Array([2161154,2161410,2138658,2161474,2161538,2097666,2097186,2097474,2162946,2132450,2163010,2163074,2136162,2163138,2161666,2161730]),new Uint32Array([2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953]),new Uint32Array([0,0,0,0,0,0,23068672,23068672,0,0,0,0,2145410,2145474,0,6291456]),new Uint32Array([2244161,2216065,2212769,2244193,2244225,2244257,2244290,2244353,2244385,2244417,2244449,2218273,2244481,2244514,2244577,2244609]),new Uint32Array([2125730,2125699,2125795,2125891,2125987,2154114,2154178,2154242,2154306,2154370,2154434,2154498,2126082,2126178,2126274,2126083]),new Uint32Array([2237665,2237697,2237697,2237697,2237730,2237793,2237825,2237857,2237890,2237953,2237985,2238017,2238049,2238081,2238113,2238145]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150146,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]),new Uint32Array([2214369,2238593,2238625,2238657,2238689,2238721,2238753,2238785,2238817,2238850,2238913,2238945,2238977,2235457,2239009,2239041]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([2252066,2252130,2252193,2252225,2252257,2252290,2252353,2252385,2252417,2252449,2252481,2252513,2252545,2252578,2252641,2252673]),new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,2197857]),new Uint32Array([2224866,2224930,2224994,2225058,2225122,2225186,2225250,2225314,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2219490,2219554,2219617,2219649,2219681,2219714,2219778,2219842,2219905,2219937,0,0,0,0,0,0]),new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),new Uint32Array([2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665]),new Uint32Array([2220161,2220161,2220193,2220193,2220193,2220193,2220225,2220225,2220225,2220225,2220257,2220257,2220257,2220257,2220289,2220289]),new Uint32Array([2192673,2192705,2192737,2192769,2192801,2192833,2192865,2118049,2192897,2117473,2117761,2192929,2192961,2192993,2193025,2193057]),new Uint32Array([2179297,6291456,2179329,6291456,2179361,6291456,2179393,6291456,2179425,6291456,2179457,6291456,2179489,6291456,2179521,6291456]),new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2235745,2235777,2193633,2235809,2235841,2235873,2235905,2235937,2235969,2116513,2116705,2236001,2200513,2199905,2200545,2236033]),new Uint32Array([2113153,2108481,2113345,2113441,2232993,2233025,0,0,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761]),new Uint32Array([2170593,6291456,2170625,6291456,2170657,6291456,2170689,2170721,6291456,2170753,6291456,6291456,2170785,6291456,2170817,2170849]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2166786,2166850,0,0,0,0]),new Uint32Array([23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,0]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2134562,2132162,2132834,2136866,2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058]),new Uint32Array([6291456,6291456,2098337,2101441,10531458,2153473,6291456,6291456,10531522,2100737,2108193,6291456,2106499,2106595,2106691,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0]),new Uint32Array([2233122,2233186,2233250,2233314,2233378,2233442,2233506,2233570,2233634,2233698,2233762,2233826,2233890,2233954,2234018,2234082]),new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2205217,2205249,2205281,2205313,2205345,2205377,2205409,2205441,2205473,2205505,2205537,2205569,2205601,2205633,2205665,2205697]),new Uint32Array([6291456,0,6291456,0,0,0,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]),new Uint32Array([2173601,2173761,2174081,2173569,2174241,2174113,2173953,6291456,2174305,6291456,2174337,6291456,2174369,6291456,2174401,6291456]),new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([2152450,2152514,2099653,2104452,2099813,2122243,2099973,2152578,2122339,2122435,2122531,2122627,2122723,2104580,2122819,2152642]),new Uint32Array([2236385,2236417,2236449,2236482,2236545,2215425,2236577,2236609,2236641,2236673,2215457,2236705,2236737,2236770,2215489,2236833]),new Uint32Array([2163394,2159746,2163458,2131362,2163522,2160130,2163778,2132226,2163842,2132898,2163906,2161410,2138658,2097666,2136162,2163650]),new Uint32Array([2218721,2246913,2246946,2216385,2247010,2247074,2215009,2247137,2247169,2216481,2247201,2247233,2247266,2247330,2247330,0]),new Uint32Array([2129730,2129762,2129858,2129731,2129827,2156482,2156482,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0,0,0,0,6291456,0,0]),new Uint32Array([2203969,2204001,2181377,2204033,2204065,6291456,2204097,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([2169473,6291456,2169505,6291456,2169537,6291456,2169569,6291456,2169601,6291456,2169633,6291456,2169665,6291456,2169697,6291456]),new Uint32Array([2141542,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2220801,2220801,2220801,2220801,2220833,2220833,2220865,2220865,2220865,2220865,2220897,2220897,2220897,2220897,2139873,2139873]),new Uint32Array([0,0,0,0,0,23068672,23068672,0,0,0,0,0,0,0,6291456,0]),new Uint32Array([2214849,2218433,2218465,2218497,2218529,2218561,2214881,2218593,2218625,2218657,2218689,2218721,2218753,2216545,2218785,2218817]),new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,6291456]),new Uint32Array([2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058,2165122,2132802,2132706,2164866]),new Uint32Array([2207649,2207681,2207713,2207745,2207777,2207809,2207841,2207873,2207905,2207937,2207969,2208001,2208033,2208065,2208097,2208129]),new Uint32Array([2123683,2105092,2152706,2123779,2105220,2152770,2100453,2098755,2123906,2124002,2124098,2124194,2124290,2124386,2124482,2124578]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,0,0,0,0,0,0,0,10485857]),new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([10508163,10508259,10508355,10508451,2200129,2200161,2192737,2200193,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2203553,6291456,2203585,6291456,6291456,6291456,2203617,6291456,2203649,6291456,2203681,6291456,2203713,6291456,2203745,6291456]),new Uint32Array([18884449,18884065,23068672,18884417,18884034,18921185,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18874368]),new Uint32Array([2247393,2247426,2247489,2247521,2247553,2247586,2247649,2247681,2247713,2247745,2247777,2247810,2247873,2247905,2247937,2247969]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]),new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,2160577,2133857,2235297,0,2235329,0]),new Uint32Array([2182593,6291456,2182625,6291456,2182657,6291456,2182689,6291456,2182721,6291456,2182753,6291456,2182785,6291456,2182817,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102402,2102403,6291456,2110050]),new Uint32Array([2149890,2108323,2149954,6291456,2113441,6291456,2149057,6291456,2113441,6291456,2105473,2167265,2111137,2105505,6291456,2108353]),new Uint32Array([2219105,2219137,2195233,2251554,2251617,2251649,2251681,2251713,2251746,2251810,2251873,2251905,2251937,2251970,2252033,2219169]),new Uint32Array([2203009,6291456,2203041,6291456,2203073,6291456,2203105,6291456,2203137,6291456,2203169,6291456,2203201,6291456,2203233,6291456]),new Uint32Array([2128195,2128291,2128387,2128483,2128579,2128675,2128771,2128867,2128963,2129059,2129155,2129251,2129347,2129443,2129539,2129635]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2140964,2141156,2140966,2141158,2141350]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2225378,2225442,2225506,2225570,2225634,2225698,2225762,2225826,2225890,2225954,2226018,2226082,2226146,2226210,2226274,2226338]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417]),new Uint32Array([2108353,2108417,0,2105601,2108193,2157121,2157313,2157377,2157441,2100897,6291456,2108419,2173953,2173633,2173633,2173953]),new Uint32Array([2111713,2173121,2111905,2098177,2173153,2173185,2173217,2113153,2113345,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2190753]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,2197249,6291456,2117377,2197281,2197313,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,6291456,6291456,6291456]),new Uint32Array([2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]),new Uint32Array([0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,23068672]),new Uint32Array([2173281,6291456,2173313,6291456,2173345,6291456,2173377,6291456,0,0,10532546,6291456,6291456,6291456,10562017,2173441]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]),new Uint32Array([23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2159426,2159490,2159554,2159362,2159618,2159682,2139522,2136450,2159746,2159810,2159874,2130978,2131074,2131266,2131362,2159938]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2203233,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2203265,6291456,2203297,6291456,2203329,2203361,6291456]),new Uint32Array([6291456,6291456,2148418,2148482,2148546,0,6291456,2148610,2186529,2186561,2148417,2148545,2148482,10495778,2143969,10495778]),new Uint32Array([2134146,2139426,2160962,2134242,2161218,2161282,2161346,2161410,2138658,2134722,2134434,2134818,2097666,2097346,2097698,2105986]),new Uint32Array([2198881,2198913,2198945,2198977,2199009,2199041,2199073,2199105,2199137,2199169,2199201,2199233,2199265,2199297,2199329,2199361]),new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([10610561,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]),new Uint32Array([2183873,6291456,2183905,6291456,2183937,6291456,2183969,6291456,2184001,6291456,2184033,6291456,2184065,6291456,2184097,6291456]),new Uint32Array([2244642,2244706,2244769,2244801,2218305,2244833,2244865,2244897,2244929,2244961,2244993,2245026,2245089,2245122,2245185,0]),new Uint32Array([6291456,6291456,2116513,2116609,2116705,2116801,2199873,2199905,2199937,2199969,2190913,2200001,2200033,2200065,2200097,2191009]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2180673,2180705,2180737,2180769,2180801,2180833,0,0]),new Uint32Array([2098081,2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150402]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,2145666,2145730,6291456,6291456]),new Uint32Array([2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665]),new Uint32Array([2187073,6291456,6291456,6291456,6291456,2098241,2098241,2108353,2100897,2111905,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102404,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2100612,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10485857]),new Uint32Array([2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]),new Uint32Array([2217697,2217729,2217761,2217793,2217825,2217857,2217889,2217921,2217953,2215873,2217985,2215905,2218017,2218049,2218081,2218113]),new Uint32Array([2211233,2218849,2216673,2218881,2218913,2218945,2218977,2219009,2216833,2219041,2215137,2219073,2216865,2209505,2219105,2216897]),new Uint32Array([2240097,2240129,2240161,2240193,2240225,2240257,2240289,2240321,2240353,2240386,2240449,2240481,2240513,2240545,2207905,2240578]),new Uint32Array([6291456,6291456,2202273,6291456,2202305,6291456,2202337,6291456,2202369,6291456,2202401,6291456,2202433,6291456,2202465,6291456]),new Uint32Array([0,23068672,23068672,18923394,23068672,18923458,18923522,18884099,18923586,18884195,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2201121,6291456,2201153,6291456,2201185,6291456,2201217,6291456,2201249,6291456,2201281,6291456,2201313,6291456,2201345,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]),new Uint32Array([2211041,2211073,2211105,2211137,2211169,2211201,2211233,2211265,2211297,2211329,2211361,2211393,2211425,2211457,2211489,2211521]),new Uint32Array([2181825,6291456,2181857,6291456,2181889,6291456,2181921,6291456,2181953,6291456,2181985,6291456,2182017,6291456,2182049,6291456]),new Uint32Array([2162337,2097633,2097633,2097633,2097633,2132705,2132705,2132705,2132705,2097153,2097153,2097153,2097153,2133089,2133089,2133089]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,2148545,6291456,2173473,6291456,2148865,6291456,2173505,6291456,2173537,6291456,2173569,6291456,2149121,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,0,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2207137,2207169,2207201,2207233,2207265,2207297,2207329,2207361,2207393,2207425,2207457,2207489,2207521,2207553,2207585,2207617]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,23068672,23068672,0,0,0,0,0,0]),new Uint32Array([2198401,2198433,2198465,2198497,0,2198529,2198561,2198593,2198625,2198657,2198689,2198721,2198753,2198785,2198817,2198849]),new Uint32Array([2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]),new Uint32Array([2216385,2118721,2216417,2216449,2216481,2216513,2216545,2211233,2216577,2216609,2216641,2216673,2216705,2216737,2216737,2216769]),new Uint32Array([2216801,2216833,2216865,2216897,2216929,2216961,2216993,2215169,2217025,2217057,2217089,2217121,2217154,2217217,0,0]),new Uint32Array([2210593,2191809,2210625,2210657,2210689,2210721,2210753,2210785,2210817,2210849,2191297,2210881,2210913,2210945,2210977,2211009]),new Uint32Array([0,0,2105825,0,0,2111905,2105473,0,0,2112289,2108193,2112481,2112577,0,2098305,2108321]),new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,2097153,2134241,0,2132705,0,0,2131297,0,2133089,0,2133857,0,2220769,0,2235361]),new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,6291456,6291456,14680064]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([2171873,6291456,2171905,6291456,2171937,6291456,2171969,6291456,2172001,6291456,2172033,6291456,2172065,6291456,2172097,6291456]),new Uint32Array([2220929,2220929,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2133857,2134145,2134145,2134145,2134145,2134241,2134241,2134241,2134241,2105889,2105889,2105889,2105889,2097185,2097185,2097185]),new Uint32Array([2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,10499619,10499715,10499811,10499907]),new Uint32Array([0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,23068672,23068672]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2144322,2144386,2144450,2144514,2144578,2144642,2144706,2144770]),new Uint32Array([23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456]),new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0,0,2111905,2105473,2105569]),new Uint32Array([2236321,2236353,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2152194,2121283,2103684,2103812,2097986,2098533,2097990,2098693,2098595,2098853,2099013,2103940,2121379,2121475,2121571,2104068]),new Uint32Array([2206241,2206273,2206305,2206337,2206369,2206401,2206433,2206465,2206497,2206529,2206561,2206593,2206625,2206657,2206689,2206721]),new Uint32Array([6291456,6291456,6291456,6291456,16777216,16777216,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,10538818,10538882,6291456,6291456,2150338]),new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2214369,2214401,2214433,2214465,2214497,2214529,2214561,2214593,2194977,2214625,2195073,2214657,2214689,2214721,6291456,6291456]),new Uint32Array([2097152,2097152,2097152,2097152,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2182081,6291456,2182113,6291456,2182145,6291456,2182177,6291456,2182209,6291456,2182241,6291456,2182273,6291456,2182305,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146881,2146945,2147009,2147073,2147137,2147201,2147265,2147329]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672]),new Uint32Array([0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2122915,2123011,2123107,2104708,2123203,2123299,2123395,2100133,2104836,2100290,2100293,2104962,2104964,2098052,2123491,2123587]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]),new Uint32Array([6291456,2171169,6291456,2171201,6291456,2171233,6291456,2171265,6291456,2171297,6291456,2171329,6291456,6291456,2171361,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,2148994,2149058,2149122,0,6291456,2149186,2186945,2173537,2148993,2149121,2149058,10531458,10496066,0]),new Uint32Array([2195009,2195041,2195073,2195105,2195137,2195169,2195201,2195233,2195265,2195297,2195329,2195361,2195393,2195425,2195457,2195489]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,0,0,6291456,6291456]),new Uint32Array([2182849,6291456,2182881,6291456,2182913,6291456,2182945,6291456,2182977,6291456,2183009,6291456,2183041,6291456,2183073,6291456]),new Uint32Array([2211553,2210081,2211585,2211617,2211649,2211681,2211713,2211745,2211777,2211809,2209569,2211841,2211873,2211905,2211937,2211969]),new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2166594,2127298,2166658,2142978,2141827,2166722]),new Uint32Array([2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2185761,2185793,2185825,2185857,2185889,2185921,0,0]),new Uint32Array([6291456,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456]),new Uint32Array([0,0,0,2220961,2220961,2220961,2220961,2144193,2144193,2159201,2159201,2159265,2159265,2144194,2220993,2220993]),new Uint32Array([2192641,2235393,2235425,2152257,2116609,2235457,2235489,2200065,2235521,2235553,2235585,2212449,2235617,2235649,2235681,2235713]),new Uint32Array([2194049,2194081,2194113,2194145,2194177,2194209,2194241,2194273,2194305,2194337,2194369,2194401,2194433,2194465,2194497,2194529]),new Uint32Array([2196673,2208641,2208673,2208705,2208737,2208769,2208801,2208833,2208865,2208897,2208929,2208961,2208993,2209025,2209057,2209089]),new Uint32Array([2191681,2191713,2191745,2191777,2153281,2191809,2191841,2191873,2191905,2191937,2191969,2192001,2192033,2192065,2192097,2192129]),new Uint32Array([2230946,2231010,2231074,2231138,2231202,2231266,2231330,2231394,2231458,2231522,2231586,2231650,2231714,2231778,2231842,2231906]),new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2185953,2185985,2186017,2186049,2186081,2186113,2186145,2186177]),new Uint32Array([2139811,2139907,2097284,2105860,2105988,2106116,2106244,2097444,2097604,2097155,10485778,10486344,2106372,6291456,0,0]),new Uint32Array([2110051,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2172385,6291456,2172417,6291456,2172449,6291456,2172481,6291456,2172513,6291456,2172545,6291456,2172577,6291456,2172609,6291456]),new Uint32Array([0,0,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2249345,2249377,2249409,2249441,2249473,2249505,2249537,2249570,2210209,2249633,2249665,2249697,2249729,2249761,2249793,2216769]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456]),new Uint32Array([2187169,2187201,2187233,2187265,2187297,2187329,2187361,2187393,2187425,2187457,2187489,2187521,2187553,2187585,2187617,2187649]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([0,0,0,6291456,6291456,0,0,0,6291456,6291456,6291456,0,0,0,6291456,6291456]),new Uint32Array([2182337,6291456,2182369,6291456,2182401,6291456,2182433,6291456,2182465,6291456,2182497,6291456,2182529,6291456,2182561,6291456]),new Uint32Array([2138179,2138275,2138371,2138467,2134243,2134435,2138563,2138659,2138755,2138851,2138947,2139043,2138947,2138755,2139139,2139235]),new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([0,0,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2250498,2250562,2250625,2250657,2208321,2250689,2250721,2250753,2250785,2250817,2250849,2218945,2250881,2250913,2250945,0]),new Uint32Array([2170369,2105569,2098305,2108481,2173249,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]),new Uint32Array([2100897,2111905,2105473,2105569,2105601,0,2108193,0,0,0,2098305,2108321,2108289,2100865,2113153,2108481]),new Uint32Array([2100897,2100897,2105569,2105569,6291456,2112289,2149826,6291456,6291456,2112481,2112577,2098177,2098177,2098177,6291456,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456,6291456]),new Uint32Array([6291456,2169953,2169985,6291456,2170017,6291456,2170049,2170081,6291456,2170113,2170145,2170177,6291456,6291456,2170209,2170241]),new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2220641,2220641,2220673,2220673,2220673,2220673,2220705,2220705,2220705,2220705,2220737,2220737,2220737,2220737,2220769,2220769]),new Uint32Array([2127650,2127746,2127842,2127938,2128034,2128130,2128226,2128322,2128418,2127523,2127619,2127715,2127811,2127907,2128003,2128099]),new Uint32Array([2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177]),new Uint32Array([0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([2204705,2204737,2204769,2204801,2204833,2204865,2204897,2204929,2204961,2204993,2205025,2205057,2205089,2205121,2205153,2205185]),new Uint32Array([2176385,6291456,2176417,6291456,2176449,6291456,2176481,6291456,2176513,6291456,2176545,6291456,2176577,6291456,2176609,6291456]),new Uint32Array([2195521,2195553,2195585,2195617,2195649,2195681,2117857,2195713,2195745,2195777,2195809,2195841,2195873,2195905,2195937,2195969]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456]),new Uint32Array([2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113]),new Uint32Array([2131586,2132450,2135970,2135778,2161602,2136162,2163650,2161794,2135586,2163714,2137186,2131810,2160290,2135170,2097506,2159554]),new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,0,0,0,0]),new Uint32Array([2116513,2116609,2116705,2116801,2116897,2116993,2117089,2117185,2117281,2117377,2117473,2117569,2117665,2117761,2117857,2117953]),new Uint32Array([2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100802,2101154,2101282,2101410,2101538,2101666,2101794]),new Uint32Array([2100289,2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2098977,2150241,2150305]),new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,2109955,6291456,6291456,0,0,0,0]),new Uint32Array([18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,0,0]),new Uint32Array([2130979,2131075,2131075,2131171,2131267,2131363,2131459,2131555,2131651,2131651,2131747,2131843,2131939,2132035,2132131,2132227]),new Uint32Array([0,2177793,6291456,2177825,6291456,2177857,6291456,2177889,6291456,2177921,6291456,2177953,6291456,2177985,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]),new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2113345,0,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]),new Uint32Array([2136643,2136739,2136835,2136931,2137027,2137123,2137219,2137315,2137411,2137507,2137603,2137699,2137795,2137891,2137987,2138083]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]),new Uint32Array([2174433,6291456,2174465,6291456,2174497,6291456,2174529,6291456,2174561,6291456,2174593,6291456,2174625,6291456,2174657,6291456]),new Uint32Array([0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]),new Uint32Array([10496547,10496643,2105505,2149698,6291456,10496739,10496835,2170273,6291456,2149762,2105825,2111713,2111713,2111713,2111713,2168673]),new Uint32Array([6291456,2143490,2143490,2143490,2171649,6291456,2171681,2171713,2171745,6291456,2171777,6291456,2171809,6291456,2171841,6291456]),new Uint32Array([2159106,2159106,2159170,2159170,2159234,2159234,2159298,2159298,2159298,2159362,2159362,2159362,2106401,2106401,2106401,2106401]),new Uint32Array([2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137]),new Uint32Array([2108417,2181217,2181249,2181281,2170433,2170401,2181313,2181345,2181377,2181409,2181441,2181473,2181505,2181537,2170529,2181569]),new Uint32Array([2218433,2245761,2245793,2245825,2245857,2245890,2245953,2245986,2209665,2246050,2246113,2246146,2246210,2246274,2246337,2246369]),new Uint32Array([2230754,2230818,2230882,0,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2184129,6291456,2184161,6291456,2184193,6291456,6291456,6291456,6291456,6291456,2146818,2183361,6291456,6291456,2142978,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2135170,2097506,2130691,2130787,2130883,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122]),new Uint32Array([2108515,2108611,2100740,2108707,2108803,2108899,2108995,2109091,2109187,2109283,2109379,2109475,2109571,2109667,2109763,2100738]),new Uint32Array([2102788,2102916,2103044,2120515,2103172,2120611,2120707,2098373,2103300,2120803,2120899,2120995,2103428,2103556,2121091,2121187]),new Uint32Array([2158082,2158146,0,2158210,2158274,0,2158338,2158402,2158466,2129922,2158530,2158594,2158658,2158722,2158786,2158850]),new Uint32Array([10499619,10499715,10499811,10499907,10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059]),new Uint32Array([2239585,2239618,2239681,2239713,0,2191969,2239745,2239777,2192033,2239809,2239841,2239874,2239937,2239970,2240033,2240065]),new Uint32Array([2252705,2252738,2252801,2252833,2252865,2252897,2252930,2252994,2253057,2253089,2253121,2253154,2253217,2253250,2219361,2219361]),new Uint32Array([2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,10538050,10538114,10538178,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([2226402,2226466,2226530,2226594,2226658,2226722,2226786,2226850,2226914,2226978,2227042,2227106,2227170,2227234,2227298,2227362]),new Uint32Array([23068672,6291456,6291456,6291456,6291456,2144066,2144130,2144194,2144258,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,23068672,23068672]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]),new Uint32Array([2124674,2124770,2123875,2123971,2124067,2124163,2124259,2124355,2124451,2124547,2124643,2124739,2124835,2124931,2125027,2125123]),new Uint32Array([2168065,6291456,2168097,6291456,2168129,6291456,2168161,6291456,2168193,6291456,2168225,6291456,2168257,6291456,2168289,6291456]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0]),new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,2100610,2100611,6291456,2107842,2107843,6291456,6291456,6291456,6291456,10537922,6291456,10537986,6291456]),new Uint32Array([2174849,2174881,2174913,2174945,2174977,2175009,2175041,2175073,2175105,2175137,2175169,2175201,2175233,2175265,2175297,2175329]),new Uint32Array([2154562,2154626,2154690,2154754,2141858,2154818,2154882,2127298,2154946,2127298,2155010,2155074,2155138,2155202,2155266,2155202]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0]),new Uint32Array([2200641,2150786,2150850,2150914,2150978,2151042,2106562,2151106,2150562,2151170,2151234,2151298,2151362,2151426,2151490,2151554]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456]),new Uint32Array([2220289,2220289,2220321,2220321,2220321,2220321,2220353,2220353,2220353,2220353,2220385,2220385,2220385,2220385,2220417,2220417]),new Uint32Array([2155330,2155394,0,2155458,2155522,2155586,2105732,0,2155650,2155714,2155778,2125314,2155842,2155906,2126274,2155970]),new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,23068672,23068672,23068672,23068672,6291456,6291456]),new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0]),new Uint32Array([2097729,2106017,2106017,2106017,2106017,2131297,2131297,2131297,2131297,2106081,2106081,2162049,2162049,2105953,2105953,2162337]),new Uint32Array([2097185,2097697,2097697,2097697,2097697,2135777,2135777,2135777,2135777,2097377,2097377,2097377,2097377,2097601,2097601,2097217]),new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]),new Uint32Array([2139331,2139427,2139523,2139043,2133571,2132611,2139619,2139715,0,0,0,0,0,0,0,0]),new Uint32Array([2174113,2174145,2100897,2098177,2108289,2100865,2173601,2173633,2173985,2174113,2174145,6291456,6291456,6291456,6291456,6291456]),new Uint32Array([6291456,6291456,23068672,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456]),new Uint32Array([23068672,23068672,18923778,23068672,23068672,23068672,23068672,18923842,23068672,23068672,23068672,23068672,18923906,23068672,23068672,23068672]),new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,0,2133857,0,0,0,0]),new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0]),new Uint32Array([2177537,6291456,2177569,6291456,2177601,6291456,2177633,6291456,2177665,6291456,2177697,6291456,2177729,6291456,2177761,6291456]),new Uint32Array([2212481,2212513,2212545,2212577,2197121,2212609,2212641,2212673,2212705,2212737,2212769,2212801,2212833,2212865,2212897,2212929]),new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,0,0,0,0,0,0,0,0]),new Uint32Array([2098241,2108353,2170209,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,6291456,2108193,2172417,2112481,2098177]),new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456])],e=new Uint16Array([616,616,565,147,161,411,330,2,131,131,328,454,241,408,86,86,696,113,285,350,325,301,473,214,639,232,447,64,369,598,124,672,567,223,621,154,107,86,86,86,86,86,86,505,86,68,634,86,218,218,218,218,486,218,218,513,188,608,216,86,217,463,668,85,700,360,184,86,86,86,647,402,153,10,346,718,662,260,145,298,117,1,443,342,138,54,563,86,240,572,218,70,387,86,118,460,641,602,86,86,306,218,86,692,86,86,86,86,86,162,707,86,458,26,86,218,638,86,86,86,86,86,65,449,86,86,306,183,86,58,391,667,86,157,131,131,131,131,86,433,131,406,31,218,247,86,86,693,218,581,351,86,438,295,69,462,45,126,173,650,14,295,69,97,168,187,641,78,523,390,69,108,287,664,173,219,83,295,69,108,431,426,173,694,412,115,628,52,257,398,641,118,501,121,69,579,151,423,173,620,464,121,69,382,151,476,173,27,53,121,86,594,578,226,173,86,632,130,86,96,228,268,641,622,563,86,86,21,148,650,131,131,321,43,144,343,381,531,131,131,178,20,86,399,156,375,164,541,30,60,715,198,92,118,131,131,86,86,306,407,86,280,457,196,488,358,131,131,244,86,86,143,86,86,86,86,86,667,563,86,86,86,86,86,86,86,86,86,86,86,86,86,336,363,86,86,336,86,86,380,678,67,86,86,86,678,86,86,86,512,86,307,86,708,86,86,86,86,86,528,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,563,307,86,86,86,86,86,104,450,337,86,720,86,32,450,397,86,86,86,587,218,558,708,708,293,708,86,86,86,86,86,694,205,86,8,86,86,86,86,549,86,667,697,697,679,86,458,460,86,86,650,86,708,543,86,86,86,245,86,86,86,140,218,127,708,708,458,197,131,131,131,131,500,86,86,483,251,86,306,510,515,86,722,86,86,86,65,201,86,86,483,580,470,86,86,86,368,131,131,131,694,114,110,555,86,86,123,721,163,142,713,418,86,317,675,209,218,218,218,371,545,592,629,490,603,199,46,320,525,680,310,279,388,111,42,252,593,607,235,617,410,377,50,548,135,356,17,520,189,116,392,600,349,332,482,699,690,535,119,106,451,71,152,667,131,218,218,265,671,637,492,504,533,683,269,269,658,86,86,86,86,86,86,86,86,86,491,619,86,86,6,86,86,86,86,86,86,86,86,86,86,86,229,86,86,86,86,86,86,86,86,86,86,86,86,667,86,86,171,131,118,131,656,206,234,571,89,334,670,246,311,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,534,86,86,86,86,86,86,82,86,86,86,86,86,430,86,86,86,86,86,86,86,86,86,599,86,324,86,470,69,640,264,131,626,101,174,86,86,667,233,105,73,374,394,221,204,84,28,326,86,86,471,86,86,86,109,573,86,171,200,200,200,200,218,218,86,86,86,86,460,131,131,131,86,506,86,86,86,86,86,220,404,34,614,47,442,305,25,612,338,601,648,7,344,255,131,131,51,86,312,507,563,86,86,86,86,588,86,86,86,86,86,530,511,86,458,3,435,384,556,522,230,527,86,118,86,86,717,86,137,273,79,181,484,23,93,112,655,249,417,703,370,87,98,313,684,585,155,465,596,481,695,18,416,428,61,701,706,282,643,495,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,307,86,86,86,171,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,650,131,422,542,420,263,24,172,86,86,86,86,86,566,86,86,132,540,395,353,494,519,19,485,284,472,131,131,131,16,714,86,211,708,86,86,86,694,698,86,86,483,704,708,218,272,86,86,120,86,159,478,86,307,247,86,86,663,597,459,627,667,86,86,277,455,39,302,86,250,86,86,86,271,99,452,306,281,329,400,200,86,86,362,549,352,646,461,323,586,86,86,4,708,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,717,86,518,86,86,650,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,125,554,480,300,613,72,333,288,561,544,604,48,719,91,169,176,590,224,76,191,29,559,560,231,537,166,477,538,256,437,131,131,469,167,40,0,685,266,441,705,239,642,475,568,640,610,299,673,517,318,385,22,202,180,179,359,424,215,90,66,521,653,467,682,453,409,479,88,131,661,35,303,15,262,666,630,712,131,131,618,659,175,218,195,347,193,227,261,150,165,709,546,294,569,710,270,413,376,524,55,242,38,419,529,170,657,3,304,122,379,278,131,651,86,67,576,458,458,131,131,86,86,86,86,86,86,86,118,309,86,86,547,86,86,86,86,667,650,664,131,131,86,86,56,131,131,131,131,131,131,131,131,86,307,86,86,86,664,238,650,86,86,717,86,118,86,86,315,86,59,86,86,574,549,131,131,340,57,436,86,86,86,86,86,86,458,708,499,691,62,86,650,86,86,694,86,86,86,319,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,86,549,694,131,131,131,131,131,131,131,131,131,77,86,86,139,86,502,86,86,86,667,595,131,131,131,86,12,86,13,86,609,131,131,131,131,86,86,86,625,86,669,86,86,182,129,86,5,694,104,86,86,86,86,131,131,86,86,386,171,86,86,86,345,86,324,86,589,86,213,36,131,131,131,131,131,86,86,86,86,104,131,131,131,141,290,80,677,86,86,86,267,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,667,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,515,86,86,33,136,669,86,711,515,86,86,550,640,86,104,708,515,86,159,372,717,86,86,444,515,86,86,663,37,86,563,460,86,390,624,702,131,131,131,131,389,59,708,86,86,341,208,708,635,295,69,108,431,508,100,190,131,131,131,131,131,131,131,131,86,86,86,649,516,660,131,131,86,86,86,218,631,708,131,131,131,131,131,131,131,131,131,131,86,86,341,575,238,514,131,131,86,86,86,218,291,708,307,131,86,86,306,367,708,131,131,131,86,378,697,86,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,615,253,86,86,86,292,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,104,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,69,86,341,553,549,86,307,86,86,645,275,455,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,708,131,131,131,131,131,131,86,86,86,86,86,86,667,460,86,86,86,86,86,86,86,86,86,86,86,86,717,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,667,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,104,86,667,459,131,131,131,131,131,131,86,458,225,86,86,86,516,549,11,390,405,86,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,460,44,218,197,711,515,131,131,131,131,664,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,307,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,308,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,118,307,104,286,591,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,86,86,681,86,86,75,185,314,582,86,358,496,474,86,104,131,86,86,86,86,146,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,171,86,640,131,131,131,131,131,131,131,131,246,503,689,339,674,81,258,415,439,128,562,366,414,246,503,689,583,222,557,316,636,665,186,355,95,670,246,503,689,339,674,557,258,415,439,186,355,95,670,246,503,689,446,644,536,652,331,532,335,440,274,421,297,570,74,425,364,425,606,552,403,509,134,365,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,218,218,218,498,218,218,577,627,551,497,572,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,553,354,236,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,296,455,131,131,456,243,103,86,41,459,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,9,276,158,716,393,564,383,489,401,654,210,654,131,131,131,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,650,86,86,86,86,86,86,717,667,563,563,563,86,549,102,686,133,246,605,86,448,86,86,207,307,131,131,131,641,86,177,611,445,373,194,584,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,308,307,171,86,86,86,86,86,86,86,717,86,86,86,86,86,460,131,131,650,86,86,86,694,708,86,86,694,86,458,131,131,131,131,131,131,667,694,289,650,667,131,131,86,640,131,131,664,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,460,86,86,86,86,86,86,86,86,86,86,86,86,86,458,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,466,203,149,429,94,432,160,687,539,63,237,283,192,248,348,259,427,526,396,676,254,468,487,212,327,623,49,633,322,493,434,688,357,361,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131]),{mapStr:"صلى الله عليه وسلمجل جلالهキロメートルrad∕s2エスクードキログラムキロワットグラムトンクルゼイロサンチームパーセントピアストルファラッドブッシェルヘクタールマンションミリバールレントゲン′′′′1⁄10viii(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)∫∫∫∫(오전)(오후)アパートアルファアンペアイニングエーカーカラットカロリーキュリーギルダークローネサイクルシリングバーレルフィートポイントマイクロミクロンメガトンリットルルーブル株式会社kcalm∕s2c∕kgاكبرمحمدصلعمرسولریال1⁄41⁄23⁄4 ̈́ྲཱྀླཱྀ ̈͂ ̓̀ ̓́ ̓͂ ̔̀ ̔́ ̔͂ ̈̀‵‵‵a/ca/sc/oc/utelfax1⁄71⁄91⁄32⁄31⁄52⁄53⁄54⁄51⁄65⁄61⁄83⁄85⁄87⁄8xii0⁄3∮∮∮(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)::====(ᄀ)(ᄂ)(ᄃ)(ᄅ)(ᄆ)(ᄇ)(ᄉ)(ᄋ)(ᄌ)(ᄎ)(ᄏ)(ᄐ)(ᄑ)(ᄒ)(가)(나)(다)(라)(마)(바)(사)(아)(자)(차)(카)(타)(파)(하)(주)(一)(二)(三)(四)(五)(六)(七)(八)(九)(十)(月)(火)(水)(木)(金)(土)(日)(株)(有)(社)(名)(特)(財)(祝)(労)(代)(呼)(学)(監)(企)(資)(協)(祭)(休)(自)(至)pte10月11月12月ergltdアールインチウォンオンスオームカイリガロンガンマギニーケースコルナコーポセンチダースノットハイツパーツピクルフランペニヒヘルツペンスページベータボルトポンドホールホーンマイルマッハマルクヤードヤールユアンルピー10点11点12点13点14点15点16点17点18点19点20点21点22点23点24点hpabardm2dm3khzmhzghzthzmm2cm2km2mm3cm3km3kpampagpalogmilmolppmv∕ma∕m10日11日12日13日14日15日16日17日18日19日20日21日22日23日24日25日26日27日28日29日30日31日galffifflשּׁשּׂ ٌّ ٍّ َّ ُّ ِّ ّٰـَّـُّـِّتجمتحجتحمتخمتمجتمحتمخجمححميحمىسحجسجحسجىسمحسمجسممصححصممشحمشجيشمخشممضحىضخمطمحطممطميعجمعممعمىغممغميغمىفخمقمحقمملحملحيلحىلججلخملمحمحجمحيمجحمجممخممجخهمجهممنحمنحىنجمنجىنمينمىيممبخيتجيتجىتخيتخىتميتمىجميجحىجمىسخىصحيشحيضحيلجيلمييحييجييميمميقمينحيعميكمينجحمخيلجمكممجحيحجيمجيفميبحيسخينجيصلےقلے𝅘𝅥𝅮𝅘𝅥𝅯𝅘𝅥𝅰𝅘𝅥𝅱𝅘𝅥𝅲𝆹𝅥𝅮𝆺𝅥𝅮𝆹𝅥𝅯𝆺𝅥𝅯〔s〕ppv〔本〕〔三〕〔二〕〔安〕〔点〕〔打〕〔盗〕〔勝〕〔敗〕 ̄ ́ ̧ssi̇ijl·ʼndžljnjdz ̆ ̇ ̊ ̨ ̃ ̋ ιեւاٴوٴۇٴيٴक़ख़ग़ज़ड़ढ़फ़य़ড়ঢ়য়ਲ਼ਸ਼ਖ਼ਗ਼ਜ਼ਫ਼ଡ଼ଢ଼ําໍາຫນຫມགྷཌྷདྷབྷཛྷཀྵཱཱིུྲྀླྀྒྷྜྷྡྷྦྷྫྷྐྵaʾἀιἁιἂιἃιἄιἅιἆιἇιἠιἡιἢιἣιἤιἥιἦιἧιὠιὡιὢιὣιὤιὥιὦιὧιὰιαιάιᾶι ͂ὴιηιήιῆιὼιωιώιῶι ̳!! ̅???!!?rs°c°fnosmtmivix⫝̸ ゙ ゚よりコト333435참고주의363738394042444546474849503月4月5月6月7月8月9月hgevギガデシドルナノピコビルペソホンリラレムdaauovpciu平成昭和大正明治naμakakbmbgbpfnfμfμgmgμlmldlklfmnmμmpsnsμsmsnvμvkvpwnwμwmwkwkωmωbqcccddbgyhainkkktlnlxphprsrsvwbstմնմեմիվնմխיִײַשׁשׂאַאָאּבּגּדּהּוּזּטּיּךּכּלּמּנּסּףּפּצּקּרּתּוֹבֿכֿפֿאלئائەئوئۇئۆئۈئېئىئجئحئمئيبجبمبىبيتىتيثجثمثىثيخحضجضمطحظمغجفجفحفىفيقحقىقيكاكجكحكخكلكىكينخنىنيهجهىهييىذٰرٰىٰئرئزئنبزبنترتزتنثرثزثنمانرنزننيريزئخئهبهتهصخنههٰثهسهشهطىطيعىعيغىغيسىسيشىشيصىصيضىضيشخشرسرصرضراً ًـًـّ ْـْلآلألإ𝅗𝅥0,1,2,3,4,5,6,7,8,9,wzhvsdwcmcmddjほかココàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįĵķĺļľłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷÿźżɓƃƅɔƈɖɗƌǝəɛƒɠɣɩɨƙɯɲɵơƣƥʀƨʃƭʈưʊʋƴƶʒƹƽǎǐǒǔǖǘǚǜǟǡǣǥǧǩǫǭǯǵƕƿǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟƞȣȥȧȩȫȭȯȱȳⱥȼƚⱦɂƀʉʌɇɉɋɍɏɦɹɻʁʕͱͳʹͷ;ϳέίόύβγδεζθκλνξοπρστυφχψϊϋϗϙϛϝϟϡϣϥϧϩϫϭϯϸϻͻͼͽѐёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюяѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯաբգդզէըթժլծկհձղճյշոչպջռստրցփքօֆ་ⴧⴭნᏰᏱᏲᏳᏴᏵꙋɐɑᴂɜᴖᴗᴝᴥɒɕɟɡɥɪᵻʝɭᶅʟɱɰɳɴɸʂƫᴜʐʑḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿἐἑἒἓἔἕἰἱἲἳἴἵἶἷὀὁὂὃὄὅὑὓὕὗᾰᾱὲΐῐῑὶΰῠῡὺῥ`ὸ‐+−∑〈〉ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞⱡɫᵽɽⱨⱪⱬⱳⱶȿɀⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳬⳮⳳⵡ母龟丨丶丿乙亅亠人儿入冂冖冫几凵刀力勹匕匚匸卜卩厂厶又口囗士夂夊夕女子宀寸小尢尸屮山巛工己巾干幺广廴廾弋弓彐彡彳心戈戶手支攴文斗斤方无曰欠止歹殳毋比毛氏气爪父爻爿片牙牛犬玄玉瓜瓦甘生用田疋疒癶白皮皿目矛矢石示禸禾穴立竹米糸缶网羊羽老而耒耳聿肉臣臼舌舛舟艮色艸虍虫血行衣襾見角言谷豆豕豸貝赤走足身車辛辰辵邑酉釆里長門阜隶隹雨靑非面革韋韭音頁風飛食首香馬骨高髟鬥鬯鬲鬼魚鳥鹵鹿麥麻黃黍黑黹黽鼎鼓鼠鼻齊齒龍龜龠.〒卄卅ᄁᆪᆬᆭᄄᆰᆱᆲᆳᆴᆵᄚᄈᄡᄊ짜ᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵᄔᄕᇇᇈᇌᇎᇓᇗᇙᄜᇝᇟᄝᄞᄠᄢᄣᄧᄩᄫᄬᄭᄮᄯᄲᄶᅀᅇᅌᇱᇲᅗᅘᅙᆄᆅᆈᆑᆒᆔᆞᆡ上中下甲丙丁天地問幼箏우秘男適優印注項写左右医宗夜テヌモヨヰヱヲꙁꙃꙅꙇꙉꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝺꝼᵹꝿꞁꞃꞅꞇꞌꞑꞓꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩɬʞʇꭓꞵꞷꬷꭒᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅᏆᏇᏈᏉᏊᏋᏌᏍᏎᏏᏐᏑᏒᏓᏔᏕᏖᏗᏘᏙᏚᏛᏜᏝᏞᏟᏠᏡᏢᏣᏤᏥᏦᏧᏨᏩᏪᏫᏬᏭᏮᏯ豈更賈滑串句契喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧蘆虜路露魯鷺碌祿綠菉錄論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏諾丹寧怒率異北磻便復不泌數索參塞省葉說殺沈拾若掠略亮兩凉梁糧良諒量勵呂廬旅濾礪閭驪麗黎曆歷轢年憐戀撚漣煉璉秊練聯輦蓮連鍊列劣咽烈裂廉念捻殮簾獵令囹嶺怜玲瑩羚聆鈴零靈領例禮醴隸惡了僚寮尿料燎療蓼遼暈阮劉杻柳流溜琉留硫紐類戮陸倫崙淪輪律慄栗隆利吏履易李梨泥理痢罹裏裡離匿溺吝燐璘藺隣鱗麟林淋臨笠粒狀炙識什茶刺切度拓糖宅洞暴輻降廓兀嗀塚晴凞猪益礼神祥福靖精蘒諸逸都飯飼館鶴郞隷侮僧免勉勤卑喝嘆器塀墨層悔慨憎懲敏既暑梅海渚漢煮爫琢碑祉祈祐祖禍禎穀突節縉繁署者臭艹著褐視謁謹賓贈辶難響頻恵𤋮舘並况全侀充冀勇勺啕喙嗢墳奄奔婢嬨廒廙彩徭惘慎愈慠戴揄搜摒敖望杖滛滋瀞瞧爵犯瑱甆画瘝瘟盛直睊着磌窱类絛缾荒華蝹襁覆調請諭變輸遲醙鉶陼韛頋鬒𢡊𢡄𣏕㮝䀘䀹𥉉𥳐𧻓齃龎עםٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھۓڭۋۅۉ、〖〗—–_{}【】《》「」『』[]#&*-<>\\$%@ءؤة\"'^|~⦅⦆・ゥャ¢£¬¦¥₩│←↑→↓■○𐐨𐐩𐐪𐐫𐐬𐐭𐐮𐐯𐐰𐐱𐐲𐐳𐐴𐐵𐐶𐐷𐐸𐐹𐐺𐐻𐐼𐐽𐐾𐐿𐑀𐑁𐑂𐑃𐑄𐑅𐑆𐑇𐑈𐑉𐑊𐑋𐑌𐑍𐑎𐑏𐓘𐓙𐓚𐓛𐓜𐓝𐓞𐓟𐓠𐓡𐓢𐓣𐓤𐓥𐓦𐓧𐓨𐓩𐓪𐓫𐓬𐓭𐓮𐓯𐓰𐓱𐓲𐓳𐓴𐓵𐓶𐓷𐓸𐓹𐓺𐓻𐳀𐳁𐳂𐳃𐳄𐳅𐳆𐳇𐳈𐳉𐳊𐳋𐳌𐳍𐳎𐳏𐳐𐳑𐳒𐳓𐳔𐳕𐳖𐳗𐳘𐳙𐳚𐳛𐳜𐳝𐳞𐳟𐳠𐳡𐳢𐳣𐳤𐳥𐳦𐳧𐳨𐳩𐳪𐳫𐳬𐳭𐳮𐳯𐳰𐳱𐳲𑣀𑣁𑣂𑣃𑣄𑣅𑣆𑣇𑣈𑣉𑣊𑣋𑣌𑣍𑣎𑣏𑣐𑣑𑣒𑣓𑣔𑣕𑣖𑣗𑣘𑣙𑣚𑣛𑣜𑣝𑣞𑣟ıȷ∇∂𞤢𞤣𞤤𞤥𞤦𞤧𞤨𞤩𞤪𞤫𞤬𞤭𞤮𞤯𞤰𞤱𞤲𞤳𞤴𞤵𞤶𞤷𞤸𞤹𞤺𞤻𞤼𞤽𞤾𞤿𞥀𞥁𞥂𞥃ٮڡٯ字双多解交映無前後再新初終販声吹演投捕遊指禁空合満申割営配得可丽丸乁𠄢你侻倂偺備像㒞𠘺兔兤具𠔜㒹內𠕋冗冤仌冬𩇟刃㓟刻剆剷㔕包匆卉博即卽卿𠨬灰及叟𠭣叫叱吆咞吸呈周咢哶唐啓啣善喫喳嗂圖圗噑噴壮城埴堍型堲報墬𡓤売壷夆夢奢𡚨𡛪姬娛娧姘婦㛮嬈嬾𡧈寃寘寳𡬘寿将㞁屠峀岍𡷤嵃𡷦嵮嵫嵼巡巢㠯巽帨帽幩㡢𢆃㡼庰庳庶𪎒𢌱舁弢㣇𣊸𦇚形彫㣣徚忍志忹悁㤺㤜𢛔惇慈慌慺憲憤憯懞戛扝抱拔捐𢬌挽拼捨掃揤𢯱搢揅掩㨮摩摾撝摷㩬敬𣀊旣書晉㬙㬈㫤冒冕最暜肭䏙朡杞杓𣏃㭉柺枅桒𣑭梎栟椔楂榣槪檨𣚣櫛㰘次𣢧歔㱎歲殟殻𣪍𡴋𣫺汎𣲼沿泍汧洖派浩浸涅𣴞洴港湮㴳滇𣻑淹潮𣽞𣾎濆瀹瀛㶖灊災灷炭𠔥煅𤉣熜爨牐𤘈犀犕𤜵𤠔獺王㺬玥㺸瑇瑜璅瓊㼛甤𤰶甾𤲒𢆟瘐𤾡𤾸𥁄㿼䀈𥃳𥃲𥄙𥄳眞真瞋䁆䂖𥐝硎䃣𥘦𥚚𥛅秫䄯穊穏𥥼𥪧䈂𥮫篆築䈧𥲀糒䊠糨糣紀𥾆絣䌁緇縂繅䌴𦈨𦉇䍙𦋙罺𦌾羕翺𦓚𦔣聠𦖨聰𣍟䏕育脃䐋脾媵𦞧𦞵𣎓𣎜舄辞䑫芑芋芝劳花芳芽苦𦬼茝荣莭茣莽菧荓菊菌菜𦰶𦵫𦳕䔫蓱蓳蔖𧏊蕤𦼬䕝䕡𦾱𧃒䕫虐虧虩蚩蚈蜎蛢蜨蝫螆蟡蠁䗹衠𧙧裗裞䘵裺㒻𧢮𧥦䚾䛇誠𧲨貫賁贛起𧼯𠠄跋趼跰𠣞軔𨗒𨗭邔郱鄑𨜮鄛鈸鋗鋘鉼鏹鐕𨯺開䦕閷𨵷䧦雃嶲霣𩅅𩈚䩮䩶韠𩐊䪲𩒖頩𩖶飢䬳餩馧駂駾䯎𩬰鱀鳽䳎䳭鵧𪃎䳸𪄅𪈎𪊑䵖黾鼅鼏鼖𪘀",mapChar:function(r){return r>=196608?r>=917760&&r<=917999?18874368:0:t[e[r>>4]][15&r]}};var t,e}.apply(e,[]))||(t.exports=n)},function(t,e,r){"use strict";t.exports=[{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"resolver",outputs:[{name:"",type:"address"}],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"label",type:"bytes32"},{name:"owner",type:"address"}],name:"setSubnodeOwner",outputs:[],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"ttl",type:"uint64"}],name:"setTTL",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"ttl",outputs:[{name:"",type:"uint64"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"resolver",type:"address"}],name:"setResolver",outputs:[],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"owner",type:"address"}],name:"setOwner",outputs:[],payable:!1,type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!0,name:"label",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"NewOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"resolver",type:"address"}],name:"NewResolver",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"ttl",type:"uint64"}],name:"NewTTL",type:"event"},{constant:!1,inputs:[{internalType:"bytes32",name:"node",type:"bytes32"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"resolver",type:"address"},{internalType:"uint64",name:"ttl",type:"uint64"}],name:"setRecord",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes32",name:"node",type:"bytes32"}],name:"recordExists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"bytes32",name:"node",type:"bytes32"},{internalType:"bytes32",name:"label",type:"bytes32"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"resolver",type:"address"},{internalType:"uint64",name:"ttl",type:"uint64"}],name:"setSubnodeRecord",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}]},function(t,e,r){"use strict";t.exports=[{constant:!0,inputs:[{name:"interfaceID",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",type:"bool"}],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"},{name:"contentTypes",type:"uint256"}],name:"ABI",outputs:[{name:"contentType",type:"uint256"},{name:"data",type:"bytes"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"hash",type:"bytes"}],name:"setMultihash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"multihash",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"x",type:"bytes32"},{name:"y",type:"bytes32"}],name:"setPubkey",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"content",outputs:[{name:"ret",type:"bytes32"}],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"addr",outputs:[{name:"ret",type:"address"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"contentType",type:"uint256"},{name:"data",type:"bytes"}],name:"setABI",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"name",outputs:[{name:"ret",type:"string"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"name",type:"string"}],name:"setName",outputs:[],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"hash",type:"bytes32"}],name:"setContent",outputs:[],payable:!1,type:"function"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"pubkey",outputs:[{name:"x",type:"bytes32"},{name:"y",type:"bytes32"}],payable:!1,type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"addr",type:"address"}],name:"setAddr",outputs:[],payable:!1,type:"function"},{inputs:[{name:"ensAddr",type:"address"}],payable:!1,type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"a",type:"address"}],name:"AddrChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"hash",type:"bytes32"}],name:"ContentChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"name",type:"string"}],name:"NameChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!0,name:"contentType",type:"uint256"}],name:"ABIChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"x",type:"bytes32"},{indexed:!1,name:"y",type:"bytes32"}],name:"PubkeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"node",type:"bytes32"},{indexed:!1,name:"hash",type:"bytes"}],name:"ContenthashChanged",type:"event"},{constant:!0,inputs:[{name:"node",type:"bytes32"}],name:"contenthash",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"node",type:"bytes32"},{name:"hash",type:"bytes"}],name:"setContenthash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}]},function(t,e,r){"use strict";var n=r(0),i=n(r(48)),o=n(r(78)),a=r(57),s=r(144),u=r(10).errors,f=r(132).interfaceIds;function c(t){this.registry=t}c.prototype.method=function(t,e,r,n,i){return{call:this.call.bind({ensName:t,methodName:e,methodArguments:r,callback:i,parent:this,outputFormatter:n}),send:this.send.bind({ensName:t,methodName:e,methodArguments:r,callback:i,parent:this})}},c.prototype.call=function(t){var e=this,r=new a,n=this.parent.prepareArguments(this.ensName,this.methodArguments),s=this.outputFormatter||null;return this.parent.registry.getResolver(this.ensName).then(function(){var a=(0,o.default)(i.default.mark((function o(a){return i.default.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,e.parent.checkInterfaceSupport(a,e.methodName);case 2:e.parent.handleCall(r,a.methods[e.methodName],n,s,t);case 3:case"end":return i.stop()}}),o)})));return function(t){return a.apply(this,arguments)}}()).catch((function(e){"function"!=typeof t?r.reject(e):t(e,null)})),r.eventEmitter},c.prototype.send=function(t,e){var r=this,n=new a,s=this.parent.prepareArguments(this.ensName,this.methodArguments);return this.parent.registry.getResolver(this.ensName).then(function(){var a=(0,o.default)(i.default.mark((function o(a){return i.default.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,r.parent.checkInterfaceSupport(a,r.methodName);case 2:r.parent.handleSend(n,a.methods[r.methodName],s,t,e);case 3:case"end":return i.stop()}}),o)})));return function(t){return a.apply(this,arguments)}}()).catch((function(t){"function"!=typeof e?n.reject(t):e(t,null)})),n.eventEmitter},c.prototype.handleCall=function(t,e,r,n,i){return e.apply(this,r).call().then((function(e){n&&(e=n(e)),"function"!=typeof i?t.resolve(e):i(e,e)})).catch((function(e){"function"!=typeof i?t.reject(e):i(e,null)})),t},c.prototype.handleSend=function(t,e,r,n,i){return e.apply(this,r).send(n).on("sending",(function(){t.eventEmitter.emit("sending")})).on("sent",(function(){t.eventEmitter.emit("sent")})).on("transactionHash",(function(e){t.eventEmitter.emit("transactionHash",e)})).on("confirmation",(function(e,r){t.eventEmitter.emit("confirmation",e,r)})).on("receipt",(function(e){t.eventEmitter.emit("receipt",e),t.resolve(e),"function"==typeof i&&i(e,e)})).on("error",(function(e){t.eventEmitter.emit("error",e),"function"!=typeof i?t.reject(e):i(e,null)})),t},c.prototype.prepareArguments=function(t,e){var r=s.hash(t);return e.length>0?(e.unshift(r),e):[r]},c.prototype.checkInterfaceSupport=function(){var t=(0,o.default)(i.default.mark((function t(e,r){var n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(f[r]){t.next=2;break}return t.abrupt("return");case 2:return n=!1,t.prev=3,t.next=6,e.methods.supportsInterface(f[r]).call();case 6:n=t.sent,t.next=12;break;case 9:t.prev=9,t.t0=t.catch(3),console.warn('Could not verify interface of resolver contract at "'+e.options.address+'". ');case 12:if(n){t.next=14;break}throw u.ResolverMethodMissingError(e.options.address,r);case 14:case"end":return t.stop()}}),t,null,[[3,9]])})));return function(e,r){return t.apply(this,arguments)}}(),t.exports=c},function(t,e,r){"use strict";var n=r(308);t.exports={decode:function(t){var e=null,r=null,i=null;if(t&&t.error)return{protocolType:null,decoded:t.error};if(t)try{e=n.decode(t);var o=n.getCodec(t);"ipfs-ns"===o?r="ipfs":"swarm-ns"===o?r="bzz":"onion"===o?r="onion":"onion3"===o?r="onion3":e=t}catch(t){i=t.message}return{protocolType:r,decoded:e,error:i}},encode:function(t){var e,r,i=!1;if(t){var o=t.match(/^(ipfs|bzz|onion|onion3):\/\/(.*)/)||t.match(/\/(ipfs)\/(.*)/);o&&(r=o[1],e=o[2]);try{if("ipfs"===r)e.length>=4&&(i="0x"+n.fromIpfs(e));else if("bzz"===r)e.length>=4&&(i="0x"+n.fromSwarm(e));else if("onion"===r)16===e.length&&(i="0x"+n.encode("onion",e));else{if("onion3"!==r)throw new Error("Could not encode content hash: unsupported content type");56===e.length&&(i="0x"+n.encode("onion3",e))}}catch(t){throw t}}return i}}},function(t,e,r){"use strict";var n=r(309),i=r(317),o=i.hexStringToBuffer,a=i.profiles,s=r(340).cidV0ToV1Base32;t.exports={helpers:{cidV0ToV1Base32:s},decode:function(t){var e=o(t),r=n.getCodec(e),i=n.rmPrefix(e),s=a[r];return s||(s=a.default),s.decode(i)},fromIpfs:function(t){return this.encode("ipfs-ns",t)},fromSwarm:function(t){return this.encode("swarm-ns",t)},encode:function(t,e){var r=a[t];r||(r=a.default);var i=r.encode(e);return n.addPrefix(t,i).toString("hex")},getCodec:function(t){var e=o(t);return n.getCodec(e)}}},function(t,e,r){"use strict";(function(n){var i=r(51),o=r(313),a=r(314),s=r(145);(e=t.exports).addPrefix=function(t,e){var r;if(n.isBuffer(t))r=s.varintBufferEncode(t);else{if(!a[t])throw new Error("multicodec not recognized");r=a[t]}return n.concat([r,e])},e.rmPrefix=function(t){return i.decode(t),t.slice(i.decode.bytes)},e.getCodec=function(t){var e=i.decode(t),r=o.get(e);if(void 0===r)throw new Error("Code ".concat(e," not found"));return r},e.getName=function(t){return o.get(t)},e.getNumber=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return s.varintBufferDecode(e)[0]},e.getCode=function(t){return i.decode(t)},e.getCodeVarint=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return e},e.getVarint=function(t){return i.encode(t)};var u=r(315);Object.assign(e,u),e.print=r(316)}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=function t(e,r,i){r=r||[];var o=i=i||0;for(;e>=n;)r[i++]=255&e|128,e/=128;for(;-128&e;)r[i++]=255&e|128,e>>>=7;return r[i]=0|e,t.bytes=i-o+1,r};var n=Math.pow(2,31)},function(t,e,r){"use strict";t.exports=function t(e,r){var n,i=0,o=0,a=r=r||0,s=e.length;do{if(a>=s)throw t.bytes=0,new RangeError("Could not decode varint");n=e[a++],i+=o<28?(127&n)<=128);return t.bytes=a-r,i}},function(t,e,r){"use strict";var n=Math.pow(2,7),i=Math.pow(2,14),o=Math.pow(2,21),a=Math.pow(2,28),s=Math.pow(2,35),u=Math.pow(2,42),f=Math.pow(2,49),c=Math.pow(2,56),h=Math.pow(2,63);t.exports=function(t){return t=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=5;)s+=e[a>>>o-5&31],o-=5;if(o>0&&(s+=e[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}t.exports=function(t){return{encode:function(e){return o("string"==typeof e?Uint8Array.from(e):e,t)},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;if(t.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(t){i.e(t)}finally{i.f()}return function(t,e){for(var r=(t=t.replace(new RegExp("=","g"),"")).length,n=0,i=0,o=0,a=new Uint8Array(5*r/8|0),s=0;s=8&&(a[o++]=i>>>n-8&255,n-=8);return a.buffer}(e,t)}}}},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1,r=t.indexOf("-")>-1&&t.indexOf("_")>-1;return{encode:function(t){var n="";n="string"==typeof t?o.from(t).toString("base64"):t.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var i=n.indexOf("=");return i>0&&!e&&(n=n.substring(0,i)),n},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;if(t.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(t){i.e(t)}finally{i.f()}return o.from(e,"base64")}}}},function(t,e,r){"use strict";e.names=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"dbl-sha2-256":86,"sha3-224":23,"sha3-256":22,"sha3-384":21,"sha3-512":20,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,"murmur3-128":34,"murmur3-32":35,md4:212,md5:213,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"Skein256-8":45825,"Skein256-16":45826,"Skein256-24":45827,"Skein256-32":45828,"Skein256-40":45829,"Skein256-48":45830,"Skein256-56":45831,"Skein256-64":45832,"Skein256-72":45833,"Skein256-80":45834,"Skein256-88":45835,"Skein256-96":45836,"Skein256-104":45837,"Skein256-112":45838,"Skein256-120":45839,"Skein256-128":45840,"Skein256-136":45841,"Skein256-144":45842,"Skein256-152":45843,"Skein256-160":45844,"Skein256-168":45845,"Skein256-176":45846,"Skein256-184":45847,"Skein256-192":45848,"Skein256-200":45849,"Skein256-208":45850,"Skein256-216":45851,"Skein256-224":45852,"Skein256-232":45853,"Skein256-240":45854,"Skein256-248":45855,"Skein256-256":45856,"Skein512-8":45857,"Skein512-16":45858,"Skein512-24":45859,"Skein512-32":45860,"Skein512-40":45861,"Skein512-48":45862,"Skein512-56":45863,"Skein512-64":45864,"Skein512-72":45865,"Skein512-80":45866,"Skein512-88":45867,"Skein512-96":45868,"Skein512-104":45869,"Skein512-112":45870,"Skein512-120":45871,"Skein512-128":45872,"Skein512-136":45873,"Skein512-144":45874,"Skein512-152":45875,"Skein512-160":45876,"Skein512-168":45877,"Skein512-176":45878,"Skein512-184":45879,"Skein512-192":45880,"Skein512-200":45881,"Skein512-208":45882,"Skein512-216":45883,"Skein512-224":45884,"Skein512-232":45885,"Skein512-240":45886,"Skein512-248":45887,"Skein512-256":45888,"Skein512-264":45889,"Skein512-272":45890,"Skein512-280":45891,"Skein512-288":45892,"Skein512-296":45893,"Skein512-304":45894,"Skein512-312":45895,"Skein512-320":45896,"Skein512-328":45897,"Skein512-336":45898,"Skein512-344":45899,"Skein512-352":45900,"Skein512-360":45901,"Skein512-368":45902,"Skein512-376":45903,"Skein512-384":45904,"Skein512-392":45905,"Skein512-400":45906,"Skein512-408":45907,"Skein512-416":45908,"Skein512-424":45909,"Skein512-432":45910,"Skein512-440":45911,"Skein512-448":45912,"Skein512-456":45913,"Skein512-464":45914,"Skein512-472":45915,"Skein512-480":45916,"Skein512-488":45917,"Skein512-496":45918,"Skein512-504":45919,"Skein512-512":45920,"Skein1024-8":45921,"Skein1024-16":45922,"Skein1024-24":45923,"Skein1024-32":45924,"Skein1024-40":45925,"Skein1024-48":45926,"Skein1024-56":45927,"Skein1024-64":45928,"Skein1024-72":45929,"Skein1024-80":45930,"Skein1024-88":45931,"Skein1024-96":45932,"Skein1024-104":45933,"Skein1024-112":45934,"Skein1024-120":45935,"Skein1024-128":45936,"Skein1024-136":45937,"Skein1024-144":45938,"Skein1024-152":45939,"Skein1024-160":45940,"Skein1024-168":45941,"Skein1024-176":45942,"Skein1024-184":45943,"Skein1024-192":45944,"Skein1024-200":45945,"Skein1024-208":45946,"Skein1024-216":45947,"Skein1024-224":45948,"Skein1024-232":45949,"Skein1024-240":45950,"Skein1024-248":45951,"Skein1024-256":45952,"Skein1024-264":45953,"Skein1024-272":45954,"Skein1024-280":45955,"Skein1024-288":45956,"Skein1024-296":45957,"Skein1024-304":45958,"Skein1024-312":45959,"Skein1024-320":45960,"Skein1024-328":45961,"Skein1024-336":45962,"Skein1024-344":45963,"Skein1024-352":45964,"Skein1024-360":45965,"Skein1024-368":45966,"Skein1024-376":45967,"Skein1024-384":45968,"Skein1024-392":45969,"Skein1024-400":45970,"Skein1024-408":45971,"Skein1024-416":45972,"Skein1024-424":45973,"Skein1024-432":45974,"Skein1024-440":45975,"Skein1024-448":45976,"Skein1024-456":45977,"Skein1024-464":45978,"Skein1024-472":45979,"Skein1024-480":45980,"Skein1024-488":45981,"Skein1024-496":45982,"Skein1024-504":45983,"Skein1024-512":45984,"Skein1024-520":45985,"Skein1024-528":45986,"Skein1024-536":45987,"Skein1024-544":45988,"Skein1024-552":45989,"Skein1024-560":45990,"Skein1024-568":45991,"Skein1024-576":45992,"Skein1024-584":45993,"Skein1024-592":45994,"Skein1024-600":45995,"Skein1024-608":45996,"Skein1024-616":45997,"Skein1024-624":45998,"Skein1024-632":45999,"Skein1024-640":46e3,"Skein1024-648":46001,"Skein1024-656":46002,"Skein1024-664":46003,"Skein1024-672":46004,"Skein1024-680":46005,"Skein1024-688":46006,"Skein1024-696":46007,"Skein1024-704":46008,"Skein1024-712":46009,"Skein1024-720":46010,"Skein1024-728":46011,"Skein1024-736":46012,"Skein1024-744":46013,"Skein1024-752":46014,"Skein1024-760":46015,"Skein1024-768":46016,"Skein1024-776":46017,"Skein1024-784":46018,"Skein1024-792":46019,"Skein1024-800":46020,"Skein1024-808":46021,"Skein1024-816":46022,"Skein1024-824":46023,"Skein1024-832":46024,"Skein1024-840":46025,"Skein1024-848":46026,"Skein1024-856":46027,"Skein1024-864":46028,"Skein1024-872":46029,"Skein1024-880":46030,"Skein1024-888":46031,"Skein1024-896":46032,"Skein1024-904":46033,"Skein1024-912":46034,"Skein1024-920":46035,"Skein1024-928":46036,"Skein1024-936":46037,"Skein1024-944":46038,"Skein1024-952":46039,"Skein1024-960":46040,"Skein1024-968":46041,"Skein1024-976":46042,"Skein1024-984":46043,"Skein1024-992":46044,"Skein1024-1000":46045,"Skein1024-1008":46046,"Skein1024-1016":46047,"Skein1024-1024":46048}),e.codes=Object.freeze({0:"identity",17:"sha1",18:"sha2-256",19:"sha2-512",86:"dbl-sha2-256",23:"sha3-224",22:"sha3-256",21:"sha3-384",20:"sha3-512",24:"shake-128",25:"shake-256",26:"keccak-224",27:"keccak-256",28:"keccak-384",29:"keccak-512",34:"murmur3-128",35:"murmur3-32",212:"md4",213:"md5",45569:"blake2b-8",45570:"blake2b-16",45571:"blake2b-24",45572:"blake2b-32",45573:"blake2b-40",45574:"blake2b-48",45575:"blake2b-56",45576:"blake2b-64",45577:"blake2b-72",45578:"blake2b-80",45579:"blake2b-88",45580:"blake2b-96",45581:"blake2b-104",45582:"blake2b-112",45583:"blake2b-120",45584:"blake2b-128",45585:"blake2b-136",45586:"blake2b-144",45587:"blake2b-152",45588:"blake2b-160",45589:"blake2b-168",45590:"blake2b-176",45591:"blake2b-184",45592:"blake2b-192",45593:"blake2b-200",45594:"blake2b-208",45595:"blake2b-216",45596:"blake2b-224",45597:"blake2b-232",45598:"blake2b-240",45599:"blake2b-248",45600:"blake2b-256",45601:"blake2b-264",45602:"blake2b-272",45603:"blake2b-280",45604:"blake2b-288",45605:"blake2b-296",45606:"blake2b-304",45607:"blake2b-312",45608:"blake2b-320",45609:"blake2b-328",45610:"blake2b-336",45611:"blake2b-344",45612:"blake2b-352",45613:"blake2b-360",45614:"blake2b-368",45615:"blake2b-376",45616:"blake2b-384",45617:"blake2b-392",45618:"blake2b-400",45619:"blake2b-408",45620:"blake2b-416",45621:"blake2b-424",45622:"blake2b-432",45623:"blake2b-440",45624:"blake2b-448",45625:"blake2b-456",45626:"blake2b-464",45627:"blake2b-472",45628:"blake2b-480",45629:"blake2b-488",45630:"blake2b-496",45631:"blake2b-504",45632:"blake2b-512",45633:"blake2s-8",45634:"blake2s-16",45635:"blake2s-24",45636:"blake2s-32",45637:"blake2s-40",45638:"blake2s-48",45639:"blake2s-56",45640:"blake2s-64",45641:"blake2s-72",45642:"blake2s-80",45643:"blake2s-88",45644:"blake2s-96",45645:"blake2s-104",45646:"blake2s-112",45647:"blake2s-120",45648:"blake2s-128",45649:"blake2s-136",45650:"blake2s-144",45651:"blake2s-152",45652:"blake2s-160",45653:"blake2s-168",45654:"blake2s-176",45655:"blake2s-184",45656:"blake2s-192",45657:"blake2s-200",45658:"blake2s-208",45659:"blake2s-216",45660:"blake2s-224",45661:"blake2s-232",45662:"blake2s-240",45663:"blake2s-248",45664:"blake2s-256",45825:"Skein256-8",45826:"Skein256-16",45827:"Skein256-24",45828:"Skein256-32",45829:"Skein256-40",45830:"Skein256-48",45831:"Skein256-56",45832:"Skein256-64",45833:"Skein256-72",45834:"Skein256-80",45835:"Skein256-88",45836:"Skein256-96",45837:"Skein256-104",45838:"Skein256-112",45839:"Skein256-120",45840:"Skein256-128",45841:"Skein256-136",45842:"Skein256-144",45843:"Skein256-152",45844:"Skein256-160",45845:"Skein256-168",45846:"Skein256-176",45847:"Skein256-184",45848:"Skein256-192",45849:"Skein256-200",45850:"Skein256-208",45851:"Skein256-216",45852:"Skein256-224",45853:"Skein256-232",45854:"Skein256-240",45855:"Skein256-248",45856:"Skein256-256",45857:"Skein512-8",45858:"Skein512-16",45859:"Skein512-24",45860:"Skein512-32",45861:"Skein512-40",45862:"Skein512-48",45863:"Skein512-56",45864:"Skein512-64",45865:"Skein512-72",45866:"Skein512-80",45867:"Skein512-88",45868:"Skein512-96",45869:"Skein512-104",45870:"Skein512-112",45871:"Skein512-120",45872:"Skein512-128",45873:"Skein512-136",45874:"Skein512-144",45875:"Skein512-152",45876:"Skein512-160",45877:"Skein512-168",45878:"Skein512-176",45879:"Skein512-184",45880:"Skein512-192",45881:"Skein512-200",45882:"Skein512-208",45883:"Skein512-216",45884:"Skein512-224",45885:"Skein512-232",45886:"Skein512-240",45887:"Skein512-248",45888:"Skein512-256",45889:"Skein512-264",45890:"Skein512-272",45891:"Skein512-280",45892:"Skein512-288",45893:"Skein512-296",45894:"Skein512-304",45895:"Skein512-312",45896:"Skein512-320",45897:"Skein512-328",45898:"Skein512-336",45899:"Skein512-344",45900:"Skein512-352",45901:"Skein512-360",45902:"Skein512-368",45903:"Skein512-376",45904:"Skein512-384",45905:"Skein512-392",45906:"Skein512-400",45907:"Skein512-408",45908:"Skein512-416",45909:"Skein512-424",45910:"Skein512-432",45911:"Skein512-440",45912:"Skein512-448",45913:"Skein512-456",45914:"Skein512-464",45915:"Skein512-472",45916:"Skein512-480",45917:"Skein512-488",45918:"Skein512-496",45919:"Skein512-504",45920:"Skein512-512",45921:"Skein1024-8",45922:"Skein1024-16",45923:"Skein1024-24",45924:"Skein1024-32",45925:"Skein1024-40",45926:"Skein1024-48",45927:"Skein1024-56",45928:"Skein1024-64",45929:"Skein1024-72",45930:"Skein1024-80",45931:"Skein1024-88",45932:"Skein1024-96",45933:"Skein1024-104",45934:"Skein1024-112",45935:"Skein1024-120",45936:"Skein1024-128",45937:"Skein1024-136",45938:"Skein1024-144",45939:"Skein1024-152",45940:"Skein1024-160",45941:"Skein1024-168",45942:"Skein1024-176",45943:"Skein1024-184",45944:"Skein1024-192",45945:"Skein1024-200",45946:"Skein1024-208",45947:"Skein1024-216",45948:"Skein1024-224",45949:"Skein1024-232",45950:"Skein1024-240",45951:"Skein1024-248",45952:"Skein1024-256",45953:"Skein1024-264",45954:"Skein1024-272",45955:"Skein1024-280",45956:"Skein1024-288",45957:"Skein1024-296",45958:"Skein1024-304",45959:"Skein1024-312",45960:"Skein1024-320",45961:"Skein1024-328",45962:"Skein1024-336",45963:"Skein1024-344",45964:"Skein1024-352",45965:"Skein1024-360",45966:"Skein1024-368",45967:"Skein1024-376",45968:"Skein1024-384",45969:"Skein1024-392",45970:"Skein1024-400",45971:"Skein1024-408",45972:"Skein1024-416",45973:"Skein1024-424",45974:"Skein1024-432",45975:"Skein1024-440",45976:"Skein1024-448",45977:"Skein1024-456",45978:"Skein1024-464",45979:"Skein1024-472",45980:"Skein1024-480",45981:"Skein1024-488",45982:"Skein1024-496",45983:"Skein1024-504",45984:"Skein1024-512",45985:"Skein1024-520",45986:"Skein1024-528",45987:"Skein1024-536",45988:"Skein1024-544",45989:"Skein1024-552",45990:"Skein1024-560",45991:"Skein1024-568",45992:"Skein1024-576",45993:"Skein1024-584",45994:"Skein1024-592",45995:"Skein1024-600",45996:"Skein1024-608",45997:"Skein1024-616",45998:"Skein1024-624",45999:"Skein1024-632",46e3:"Skein1024-640",46001:"Skein1024-648",46002:"Skein1024-656",46003:"Skein1024-664",46004:"Skein1024-672",46005:"Skein1024-680",46006:"Skein1024-688",46007:"Skein1024-696",46008:"Skein1024-704",46009:"Skein1024-712",46010:"Skein1024-720",46011:"Skein1024-728",46012:"Skein1024-736",46013:"Skein1024-744",46014:"Skein1024-752",46015:"Skein1024-760",46016:"Skein1024-768",46017:"Skein1024-776",46018:"Skein1024-784",46019:"Skein1024-792",46020:"Skein1024-800",46021:"Skein1024-808",46022:"Skein1024-816",46023:"Skein1024-824",46024:"Skein1024-832",46025:"Skein1024-840",46026:"Skein1024-848",46027:"Skein1024-856",46028:"Skein1024-864",46029:"Skein1024-872",46030:"Skein1024-880",46031:"Skein1024-888",46032:"Skein1024-896",46033:"Skein1024-904",46034:"Skein1024-912",46035:"Skein1024-920",46036:"Skein1024-928",46037:"Skein1024-936",46038:"Skein1024-944",46039:"Skein1024-952",46040:"Skein1024-960",46041:"Skein1024-968",46042:"Skein1024-976",46043:"Skein1024-984",46044:"Skein1024-992",46045:"Skein1024-1000",46046:"Skein1024-1008",46047:"Skein1024-1016",46048:"Skein1024-1024"}),e.defaultLengths=Object.freeze({17:20,18:32,19:64,86:32,23:28,22:32,21:48,20:64,24:32,25:64,26:28,27:32,28:48,29:64,34:32,45569:1,45570:2,45571:3,45572:4,45573:5,45574:6,45575:7,45576:8,45577:9,45578:10,45579:11,45580:12,45581:13,45582:14,45583:15,45584:16,45585:17,45586:18,45587:19,45588:20,45589:21,45590:22,45591:23,45592:24,45593:25,45594:26,45595:27,45596:28,45597:29,45598:30,45599:31,45600:32,45601:33,45602:34,45603:35,45604:36,45605:37,45606:38,45607:39,45608:40,45609:41,45610:42,45611:43,45612:44,45613:45,45614:46,45615:47,45616:48,45617:49,45618:50,45619:51,45620:52,45621:53,45622:54,45623:55,45624:56,45625:57,45626:58,45627:59,45628:60,45629:61,45630:62,45631:63,45632:64,45633:1,45634:2,45635:3,45636:4,45637:5,45638:6,45639:7,45640:8,45641:9,45642:10,45643:11,45644:12,45645:13,45646:14,45647:15,45648:16,45649:17,45650:18,45651:19,45652:20,45653:21,45654:22,45655:23,45656:24,45657:25,45658:26,45659:27,45660:28,45661:29,45662:30,45663:31,45664:32,45825:1,45826:2,45827:3,45828:4,45829:5,45830:6,45831:7,45832:8,45833:9,45834:10,45835:11,45836:12,45837:13,45838:14,45839:15,45840:16,45841:17,45842:18,45843:19,45844:20,45845:21,45846:22,45847:23,45848:24,45849:25,45850:26,45851:27,45852:28,45853:29,45854:30,45855:31,45856:32,45857:1,45858:2,45859:3,45860:4,45861:5,45862:6,45863:7,45864:8,45865:9,45866:10,45867:11,45868:12,45869:13,45870:14,45871:15,45872:16,45873:17,45874:18,45875:19,45876:20,45877:21,45878:22,45879:23,45880:24,45881:25,45882:26,45883:27,45884:28,45885:29,45886:30,45887:31,45888:32,45889:33,45890:34,45891:35,45892:36,45893:37,45894:38,45895:39,45896:40,45897:41,45898:42,45899:43,45900:44,45901:45,45902:46,45903:47,45904:48,45905:49,45906:50,45907:51,45908:52,45909:53,45910:54,45911:55,45912:56,45913:57,45914:58,45915:59,45916:60,45917:61,45918:62,45919:63,45920:64,45921:1,45922:2,45923:3,45924:4,45925:5,45926:6,45927:7,45928:8,45929:9,45930:10,45931:11,45932:12,45933:13,45934:14,45935:15,45936:16,45937:17,45938:18,45939:19,45940:20,45941:21,45942:22,45943:23,45944:24,45945:25,45946:26,45947:27,45948:28,45949:29,45950:30,45951:31,45952:32,45953:33,45954:34,45955:35,45956:36,45957:37,45958:38,45959:39,45960:40,45961:41,45962:42,45963:43,45964:44,45965:45,45966:46,45967:47,45968:48,45969:49,45970:50,45971:51,45972:52,45973:53,45974:54,45975:55,45976:56,45977:57,45978:58,45979:59,45980:60,45981:61,45982:62,45983:63,45984:64,45985:65,45986:66,45987:67,45988:68,45989:69,45990:70,45991:71,45992:72,45993:73,45994:74,45995:75,45996:76,45997:77,45998:78,45999:79,46e3:80,46001:81,46002:82,46003:83,46004:84,46005:85,46006:86,46007:87,46008:88,46009:89,46010:90,46011:91,46012:92,46013:93,46014:94,46015:95,46016:96,46017:97,46018:98,46019:99,46020:100,46021:101,46022:102,46023:103,46024:104,46025:105,46026:106,46027:107,46028:108,46029:109,46030:110,46031:111,46032:112,46033:113,46034:114,46035:115,46036:116,46037:117,46038:118,46039:119,46040:120,46041:121,46042:122,46043:123,46044:124,46045:125,46046:126,46047:127,46048:128})},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(326);(e=t.exports=a).encode=function(t,e){var r=s(t);return a(r.name,n.from(r.encode(e)))},e.decode=function(t){n.isBuffer(t)&&(t=t.toString());var e=t.substring(0,1);"string"==typeof(t=t.substring(1,t.length))&&(t=n.from(t));var r=s(e);return n.from(r.decode(t.toString()))},e.isEncoded=function(t){n.isBuffer(t)&&(t=t.toString());if("[object String]"!==Object.prototype.toString.call(t))return!1;var e=t.substring(0,1);try{return s(e).name}catch(t){return!1}},e.names=Object.freeze(Object.keys(i.names)),e.codes=Object.freeze(Object.keys(i.codes));var o=new Error("Unsupported encoding");function a(t,e){if(!e)throw new Error("requires an encoded buffer");var r=s(t),i=n.from(r.code);return function(t,e){s(t).decode(e.toString())}(r.name,e),n.concat([i,e])}function s(t){var e;if(i.names[t])e=i.names[t];else{if(!i.codes[t])throw o;e=i.codes[t]}if(!e.isImplemented())throw new Error("Base "+t+" is not implemented yet");return e}},function(t,e,r){"use strict";var n=r(327),i=r(147),o=r(328),a=r(329),s=r(330),u=[["base1","1","","1"],["base2","0",i,"01"],["base8","7",i,"01234567"],["base10","9",i,"0123456789"],["base16","f",o,"0123456789abcdef"],["base32","b",a,"abcdefghijklmnopqrstuvwxyz234567"],["base32pad","c",a,"abcdefghijklmnopqrstuvwxyz234567="],["base32hex","v",a,"0123456789abcdefghijklmnopqrstuv"],["base32hexpad","t",a,"0123456789abcdefghijklmnopqrstuv="],["base32z","h",a,"ybndrfg8ejkmcpqxot1uwisza345h769"],["base58flickr","Z",i,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base58btc","z",i,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base64","m",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",s,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],f=u.reduce((function(t,e){return t[e[0]]=new n(e[0],e[1],e[2],e[3]),t}),{}),c=u.reduce((function(t,e){return t[e[1]]=f[e[0]],t}),{});t.exports={names:f,codes:c}},function(t,e,r){"use strict";var n=r(0),i=n(r(5)),o=n(r(9)),a=function(){function t(e,r,n,o){(0,i.default)(this,t),this.name=e,this.code=r,this.alphabet=o,n&&o&&(this.engine=n(o))}return(0,o.default)(t,[{key:"encode",value:function(t){return this.engine.encode(t)}},{key:"decode",value:function(t){return this.engine.decode(t)}},{key:"isImplemented",value:function(){return this.engine}}]),t}();t.exports=a},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=5;)s+=e[a>>>o-5&31],o-=5;if(o>0&&(s+=e[a<<5-o&31]),i)for(;s.length%8!=0;)s+="=";return s}t.exports=function(t){return{encode:function(e){return o("string"==typeof e?Uint8Array.from(e):e,t)},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;if(t.indexOf(o)<0)throw new Error("invalid base32 character")}}catch(t){i.e(t)}finally{i.f()}return function(t,e){for(var r=(t=t.replace(new RegExp("=","g"),"")).length,n=0,i=0,o=0,a=new Uint8Array(5*r/8|0),s=0;s=8&&(a[o++]=i>>>n-8&255,n-=8);return a.buffer}(e,t)}}}},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1,r=t.indexOf("-")>-1&&t.indexOf("_")>-1;return{encode:function(t){var n="";n="string"==typeof t?o.from(t).toString("base64"):t.toString("base64"),r&&(n=n.replace(/\+/g,"-").replace(/\//g,"_"));var i=n.indexOf("=");return i>0&&!e&&(n=n.substring(0,i)),n},decode:function(e){var r,i=n(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;if(t.indexOf(a)<0)throw new Error("invalid base64 character")}}catch(t){i.e(t)}finally{i.f()}return o.from(e,"base64")}}}},function(t,e,r){"use strict";var n=r(1).Buffer,i=r(51),o=r(332),a=r(333),s=r(148);(e=t.exports).addPrefix=function(t,e){var r;if(n.isBuffer(t))r=s.varintBufferEncode(t);else{if(!a[t])throw new Error("multicodec not recognized");r=a[t]}return n.concat([r,e])},e.rmPrefix=function(t){return i.decode(t),t.slice(i.decode.bytes)},e.getCodec=function(t){var e=i.decode(t),r=o.get(e);if(void 0===r)throw new Error("Code ".concat(e," not found"));return r},e.getName=function(t){return o.get(t)},e.getNumber=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return s.varintBufferDecode(e)[0]},e.getCode=function(t){return i.decode(t)},e.getCodeVarint=function(t){var e=a[t];if(void 0===e)throw new Error("Codec `"+t+"` not found");return e},e.getVarint=function(t){return i.encode(t)};var u=r(334);Object.assign(e,u),e.print=r(335)},function(t,e,r){"use strict";var n=r(52),i=new Map;for(var o in n){var a=n[o];i.set(a,o)}t.exports=Object.freeze(i)},function(t,e,r){"use strict";var n=r(52),i=r(148).varintEncode,o={};for(var a in n){var s=n[a];o[a]=i(s)}t.exports=Object.freeze(o)},function(t,e,r){"use strict";for(var n=r(0)(r(31)),i=r(52),o={},a=0,s=Object.entries(i);a=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0){var c,l="Signer Error: ",d=h(f);try{for(d.s();!(c=d.n()).done;){var p=c.value;l+="".concat(l," ").concat(p,".")}}catch(t){d.e(t)}finally{d.f()}throw new Error(l)}var m="0x"+u.serialize().toString("hex"),b=w.keccak256(m),v={messageHash:"0x"+n.from(u.getMessageToSign(!0)).toString("hex"),v:"0x"+n.from(u.v).toString("hex"),r:"0x"+n.from(u.r).toString("hex"),s:"0x"+n.from(u.s).toString("hex"),rawTransaction:m,transactionHash:b};return r(null,v),v}catch(t){return r(t),Promise.reject(t)}}return t.type=function(t){var e,r=void 0!==t.maxFeePerGas||void 0!==t.maxPriorityFeePerGas;void 0!==t.type?e=w.toHex(t.type):void 0===t.type&&r&&(e="0x2");if(void 0!==t.gasPrice&&("0x2"===e||r))throw Error("eip-1559 transactions don't support gasPrice");if(("0x1"===e||"0x0"===e)&&r)throw Error("pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas");r||t.common&&t.common.hardfork&&t.common.hardfork.toLowerCase()===S.London||t.hardfork&&t.hardfork.toLowerCase()===S.London?e="0x2":(t.accessList||t.common&&t.common.hardfork&&t.common.hardfork.toLowerCase()===S.Berlin||t.hardfork&&t.hardfork.toLowerCase()===S.Berlin)&&(e="0x1");return e}(t),void 0!==t.nonce&&void 0!==t.chainId&&(void 0!==t.gasPrice||void 0!==t.maxFeePerGas&&void 0!==t.maxPriorityFeePerGas)&&a?Promise.resolve(s(t)):Promise.all([A(t.chainId)?this._ethereumCall.getChainId():t.chainId,A(t.nonce)?this._ethereumCall.getTransactionCount(this.privateKeyToAccount(e).address):t.nonce,A(a)?this._ethereumCall.getNetworkId():1,E(this,t)]).then((function(e){if(A(e[0])||A(e[1])||A(e[2])||A(e[3]))throw new Error('One of the values "chainId", "networkId", "gasPrice", or "nonce" couldn\'t be fetched: '+JSON.stringify(e));return s(c(c({},t),{},{chainId:e[0],nonce:e[1],networkId:e[2]},e[3]))}))},x.prototype.recoverTransaction=function(t){var e=n.from(t.slice(2),"hex"),r=k.fromSerializedData(e);return w.toChecksumAddress(r.getSenderAddress().toString("hex"))},x.prototype.hashMessage=function(t){var e=w.isHexStrict(t)?t:w.utf8ToHex(t),r=w.hexToBytes(e),i=n.from(r),o="Ethereum Signed Message:\n"+r.length,a=n.from(o),s=n.concat([a,i]);return b.keccak256s(s)},x.prototype.sign=function(t,e){if(e.startsWith("0x")||(e="0x"+e),66!==e.length)throw new Error("Private key must be 32 bytes long");var r=this.hashMessage(t),n=m.sign(r,e),i=m.decodeSignature(n);return{message:t,messageHash:r,v:i[0],r:i[1],s:i[2],signature:n}},x.prototype.recover=function(t,e,r){var n=[].slice.apply(arguments);return t&&"object"===(0,a.default)(t)?this.recover(t.messageHash,m.encodeSignature([t.v,t.r,t.s]),!0):(r||(t=this.hashMessage(t)),n.length>=4?(r="boolean"==typeof(r=n.slice(-1)[0])&&!!r,this.recover(t,m.encodeSignature(n.slice(1,4)),r)):m.recover(t,e))},x.prototype.decrypt=function(t,e,r){if("string"!=typeof e)throw new Error("No password given.");var i,s,u=t&&"object"===(0,a.default)(t)?t:JSON.parse(r?t.toLowerCase():t);if(3!==u.version)throw new Error("Not a valid V3 wallet");if("scrypt"===u.crypto.kdf)s=u.crypto.kdfparams,i=y.syncScrypt(n.from(e),n.from(s.salt,"hex"),s.n,s.r,s.p,s.dklen);else{if("pbkdf2"!==u.crypto.kdf)throw new Error("Unsupported key derivation scheme");if("hmac-sha256"!==(s=u.crypto.kdfparams).prf)throw new Error("Unsupported parameters to PBKDF2");i=v.pbkdf2Sync(n.from(e),n.from(s.salt,"hex"),s.c,s.dklen,"sha256")}var f=n.from(u.crypto.ciphertext,"hex");if(w.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(f)))).replace("0x","")!==u.crypto.mac)throw new Error("Key derivation failed - possibly wrong password");var c=v.createDecipheriv(u.crypto.cipher,i.slice(0,16),n.from(u.crypto.cipherparams.iv,"hex")),h="0x"+n.from([].concat((0,o.default)(c.update(f)),(0,o.default)(c.final()))).toString("hex");return this.privateKeyToAccount(h,!0)},x.prototype.encrypt=function(t,e,r){var i,a=this.privateKeyToAccount(t,!0),s=(r=r||{}).salt||v.randomBytes(32),u=r.iv||v.randomBytes(16),f=r.kdf||"scrypt",c={dklen:r.dklen||32,salt:s.toString("hex")};if("pbkdf2"===f)c.c=r.c||262144,c.prf="hmac-sha256",i=v.pbkdf2Sync(n.from(e),n.from(c.salt,"hex"),c.c,c.dklen,"sha256");else{if("scrypt"!==f)throw new Error("Unsupported kdf");c.n=r.n||8192,c.r=r.r||8,c.p=r.p||1,i=y.syncScrypt(n.from(e),n.from(c.salt,"hex"),c.n,c.r,c.p,c.dklen)}var h=v.createCipheriv(r.cipher||"aes-128-ctr",i.slice(0,16),u);if(!h)throw new Error("Unsupported cipher");var l=n.from([].concat((0,o.default)(h.update(n.from(a.privateKey.replace("0x",""),"hex"))),(0,o.default)(h.final()))),d=w.sha3(n.from([].concat((0,o.default)(i.slice(16,32)),(0,o.default)(l)))).replace("0x","");return{version:3,id:g.v4({random:r.uuid||v.randomBytes(16)}),address:a.address.toLowerCase().replace("0x",""),crypto:{ciphertext:l.toString("hex"),cipherparams:{iv:u.toString("hex")},cipher:r.cipher||"aes-128-ctr",kdf:f,kdfparams:c,mac:d.toString("hex")}}},O.prototype._findSafeIndex=function(t){return t=t||0,this.hasOwnProperty(t)?this._findSafeIndex(t+1):t},O.prototype._currentIndexes=function(){return Object.keys(this).map((function(t){return parseInt(t)})).filter((function(t){return t<9e20}))},O.prototype.create=function(t,e){for(var r=0;r7?t[n+2].toUpperCase():t[n+2];return r},l=function(t){var r=new e(t.slice(2),"hex"),n="0x"+s.keyFromPrivate(r).getPublic(!1,"hex").slice(2),i=f(n);return{address:h("0x"+i.slice(-40)),privateKey:t}},d=function(t){var e=(0,n.default)(t,3),r=e[0],o=e[1],a=e[2];return i.flatten([o,a,r])},p=function(t){return[i.slice(64,i.length(t),t),i.slice(0,32,t),i.slice(32,64,t)]},m=function(t){return function(r,n){var a=s.keyFromPrivate(new e(n.slice(2),"hex")).sign(new e(r.slice(2),"hex"),{canonical:!0});return d([o.fromString(i.fromNumber(t+a.recoveryParam)),i.pad(32,i.fromNat("0x"+a.r.toString(16))),i.pad(32,i.fromNat("0x"+a.s.toString(16)))])}},b=m(27);t.exports={create:function(t){var e=f(i.concat(i.random(32),t||i.random(32))),r=i.concat(i.concat(i.random(32),e),i.random(32)),n=f(r);return l(n)},toChecksum:h,fromPrivate:l,sign:b,makeSigner:m,recover:function(t,r){var n=p(r),o={v:i.toNumber(n[0]),r:n[1].slice(2),s:n[2].slice(2)},a="0x"+s.recoverPubKey(new e(t.slice(2),"hex"),o,o.v<2?o.v:1-o.v%2).encode("hex",!1).slice(2),u=f(a);return h("0x"+u.slice(-40))},encodeSignature:d,decodeSignature:p}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=function(t,e){for(var r=[],n=0;n */var n=r(1),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},function(t,e,r){"use strict";(e=t.exports=r(152)).Stream=e,e.Readable=e,e.Writable=r(156),e.Duplex=r(38),e.Transform=r(157),e.PassThrough=r(355),e.finished=r(84),e.pipeline=r(356)},function(t,e){},function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return a.alloc(0);for(var e,r,n,i=a.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=i,n=s,a.prototype.copy.call(e,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=a.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:u,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&a.forEach(f),o||(a.forEach(f),i(n))}))}));return e.reduce(c)}},function(t,e,r){"use strict";var n=r(3),i=r(39),o=r(4).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function f(t){return t<<30|t>>>2}function c(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var l=0;l<80;++l){var d=~~(l/20),p=0|((e=n)<<5|e>>>27)+c(d,i,o,s)+u+r[l]+a[d];u=s,s=o,o=f(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(39),o=r(4).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,i.call(this,64,56)}function f(t){return t<<5|t>>>27}function c(t){return t<<30|t>>>2}function h(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,l=0;l<16;++l)r[l]=t.readInt32BE(4*l);for(;l<80;++l)r[l]=(e=r[l-3]^r[l-8]^r[l-14]^r[l-16])<<1|e>>>31;for(var d=0;d<80;++d){var p=~~(d/20),m=f(n)+h(p,i,o,s)+u+r[d]+a[p]|0;u=s,s=o,o=c(i),i=n,n=m}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(158),o=r(39),a=r(4).Buffer,s=new Array(64);function u(){this.init(),this._w=s,o.call(this,64,56)}n(u,i),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=u},function(t,e,r){"use strict";var n=r(3),i=r(159),o=r(39),a=r(4).Buffer,s=new Array(160);function u(){this.init(),this._w=s,o.call(this,128,112)}n(u,i),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},function(t,e,r){"use strict";t.exports=r(75)},function(t,e,r){"use strict";t.exports=r(28)},function(t,e,r){"use strict";t.exports=r(46).Transform},function(t,e,r){"use strict";t.exports=r(46).PassThrough},function(t,e,r){"use strict";var n=r(3),i=r(4).Buffer,o=r(25),a=i.alloc(128);function s(t,e){o.call(this,"digest"),"string"==typeof e&&(e=i.from(e)),this._alg=t,this._key=e,e.length>64?e=t(e):e.length<64&&(e=i.concat([e,a],64));for(var r=this._ipad=i.allocUnsafe(64),n=this._opad=i.allocUnsafe(64),s=0;s<64;s++)r[s]=54^e[s],n[s]=92^e[s];this._hash=[r]}n(s,o),s.prototype._update=function(t){this._hash.push(t)},s.prototype._final=function(){var t=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,t]))},t.exports=s},function(t,e,r){"use strict";t.exports=r(162)},function(t,e,r){"use strict";(function(e){var n,i,o=r(4).Buffer,a=r(164),s=r(165),u=r(166),f=r(167),c=e.crypto&&e.crypto.subtle,h={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},l=[];function d(){return i||(i=e.process&&e.process.nextTick?e.process.nextTick:e.queueMicrotask?e.queueMicrotask:e.setImmediate?e.setImmediate:e.setTimeout)}function p(t,e,r,n,i){return c.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return c.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:i}},t,n<<3)})).then((function(t){return o.from(t)}))}t.exports=function(t,r,i,m,b,v){"function"==typeof b&&(v=b,b=void 0);var y=h[(b=b||"sha1").toLowerCase()];if(y&&"function"==typeof e.Promise){if(a(i,m),t=f(t,s,"Password"),r=f(r,s,"Salt"),"function"!=typeof v)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){d()((function(){e(null,t)}))}),(function(t){d()((function(){e(t)}))}))}(function(t){if(e.process&&!e.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==l[t])return l[t];var r=p(n=n||o.alloc(8),n,10,128,t).then((function(){return!0})).catch((function(){return!1}));return l[t]=r,r}(y).then((function(e){return e?p(t,r,i,m,y):u(t,r,i,m,b)})),v)}else d()((function(){var e;try{e=u(t,r,i,m,b)}catch(t){return v(t)}v(null,e)}))}}).call(this,r(7))},function(t,e,r){"use strict";var n=r(369),i=r(89),o=r(90),a=r(382),s=r(66);function u(t,e,r){if(t=t.toLowerCase(),o[t])return i.createCipheriv(t,e,r);if(a[t])return new n({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function f(t,e,r){if(t=t.toLowerCase(),o[t])return i.createDecipheriv(t,e,r);if(a[t])return new n({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!a[t])throw new TypeError("invalid suite type");r=8*a[t].key,n=a[t].iv}var i=s(e,!1,r,n);return u(t,i.key,i.iv)},e.createCipheriv=e.Cipheriv=u,e.createDecipher=e.Decipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!a[t])throw new TypeError("invalid suite type");r=8*a[t].key,n=a[t].iv}var i=s(e,!1,r,n);return f(t,i.key,i.iv)},e.createDecipheriv=e.Decipheriv=f,e.listCiphers=e.getCiphers=function(){return Object.keys(a).concat(i.getCiphers())}},function(t,e,r){"use strict";var n=r(25),i=r(370),o=r(3),a=r(4).Buffer,s={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function u(t){n.call(this);var e,r=t.mode.toLowerCase(),i=s[r];e=t.decrypt?"decrypt":"encrypt";var o=t.key;a.isBuffer(o)||(o=a.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=a.concat([o,o.slice(0,8)]));var u=t.iv;a.isBuffer(u)||(u=a.from(u)),this._des=i.create({key:o,iv:u,type:e})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],t.exports=u,o(u,n),u.prototype._update=function(t){return a.from(this._des.update(t))},u.prototype._final=function(){return a.from(this._des.final())}},function(t,e,r){"use strict";e.utils=r(168),e.Cipher=r(88),e.DES=r(169),e.CBC=r(371),e.EDE=r(372)},function(t,e,r){"use strict";var n=r(18),i=r(3),o={};function a(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},l.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;++r>a%8,t._prev=o(t._prev,r?n:i);return s}function o(t,e){var r=t.length,i=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++i>7;return o}e.encrypt=function(t,e,r){for(var o=e.length,a=n.allocUnsafe(o),s=-1;++s>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function a(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},a.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},a.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,t,0,e])),this.state},t.exports=a},function(t,e,r){"use strict";var n=r(173),i=r(4).Buffer,o=r(90),a=r(174),s=r(25),u=r(65),f=r(66);function c(t,e,r){s.call(this),this._cache=new h,this._last=void 0,this._cipher=new u.AES(e),this._prev=i.from(r),this._mode=t,this._autopadding=!0}function h(){this.cache=i.allocUnsafe(0)}function l(t,e,r){var s=o[t.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=i.from(e)),e.length!==s.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===s.type?new a(s.module,e,r,!0):"auth"===s.type?new n(s.module,e,r,!0):new c(s.module,e,r)}r(3)(c,s),c.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),n.push(r);return i.concat(n)},c.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var r=o[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=f(e,!1,r.key,r.iv);return l(t,n.key,n.iv)},e.createDecipheriv=l},function(t,e,r){"use strict";e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},function(t,e,r){"use strict";(function(t){var n=r(175),i=r(385),o=r(386);var a={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(e){var r=new t(i[e].prime,"hex"),n=new t(i[e].gen,"hex");return new o(r,n)},e.createDiffieHellman=e.DiffieHellman=function e(r,i,s,u){return t.isBuffer(i)||void 0===a[i]?e(r,"binary",i,s):(i=i||"binary",u=u||"binary",s=s||new t([2]),t.isBuffer(s)||(s=new t(s,u)),"number"==typeof r?new o(n(r,s),s,!0):(t.isBuffer(r)||(r=new t(r,i)),new o(r,s,!0)))}}).call(this,r(1).Buffer)},function(t,e){},function(t){t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(t,e,r){"use strict";(function(e){var n=r(8),i=new(r(176)),o=new n(24),a=new n(11),s=new n(10),u=new n(3),f=new n(7),c=r(175),h=r(22);function l(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._pub=new n(t),this}function d(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._priv=new n(t),this}t.exports=m;var p={};function m(t,e,r){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=l,this.setPrivateKey=d):this._primeCode=8}function b(t,r){var n=new e(t.toArray());return r?n.toString(r):n}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),n=[r,t.toString(16)].join("_");if(n in p)return p[n];var h,l=0;if(t.isEven()||!c.simpleSieve||!c.fermatTest(t)||!i.test(t))return l+=1,l+="02"===r||"05"===r?8:4,p[n]=l,l;switch(i.test(t.shrn(1))||(l+=2),r){case"02":t.mod(o).cmp(a)&&(l+=8);break;case"05":(h=t.mod(s)).cmp(u)&&h.cmp(f)&&(l+=8);break;default:l+=4}return p[n]=l,l}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(h(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(t){var r=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new e(r.toArray()),o=this.getPrime();if(i.length0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return a.alloc(0);for(var e,r,n,i=a.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=i,n=s,a.prototype.copy.call(e,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=a.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:u,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&a.forEach(f),o||(a.forEach(f),i(n))}))}));return e.reduce(c)}},function(t,e,r){"use strict";var n=r(92).Buffer,i=r(160),o=r(94),a=r(54).ec,s=r(185),u=r(68),f=r(191);function c(t,e,r,o){if((t=n.from(t.toArray())).length0&&r.ishrn(n),r}function l(t,e,r){var o,a;do{for(o=n.alloc(0);8*o.length=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void i(!1,"Invalid character in "+t)}function f(t,e,r){var n=u(t,r);return r-1>=e&&(n|=u(t,r-1)<<4),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?f-49+10:f>=17?f-17+10:f,i(f>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,r,n){if("number"==typeof t)return this._initNumber(t,r,n);if("object"===(0,e.default)(t))return this._initArray(t,r,n);"hex"===r&&(r=16),i(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(o++,this.negative=1),o=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=f(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){a.prototype.inspect=l}else a.prototype.inspect=l;function l(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?d[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=p[t],c=m[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var l=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?l+r:d[f-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var f=1;f>>26,h=67108863&u,l=Math.min(f,e.length-1),d=Math.max(0,f-t.length+1);d<=l;d++){var p=f-d|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[d])+h)/67108864|0,h=67108863&a}r.words[f]=0|h,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i("number"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,y=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],M=8191&k,S=k>>>13,A=0|a[5],x=8191&A,E=A>>>13,O=0|a[6],P=8191&O,B=O>>>13,T=0|a[7],R=8191&T,I=T>>>13,C=0|a[8],U=8191&C,j=C>>>13,N=0|a[9],L=8191&N,F=N>>>13,D=0|s[0],q=8191&D,H=D>>>13,z=0|s[1],K=8191&z,G=z>>>13,V=0|s[2],W=8191&V,Z=V>>>13,J=0|s[3],X=8191&J,Y=J>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ft=st>>>13,ct=0|s[8],ht=8191&ct,lt=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(f+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,H))+Math.imul(l,q)|0))<<13)|0;f=((o=Math.imul(l,H))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,H))+Math.imul(m,q)|0,o=Math.imul(m,H);var vt=(f+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(l,K)|0))<<13)|0;f=((o=o+Math.imul(l,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,H))+Math.imul(y,q)|0,o=Math.imul(y,H),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,G)|0;var yt=(f+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(l,W)|0))<<13)|0;f=((o=o+Math.imul(l,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,H))+Math.imul(_,q)|0,o=Math.imul(_,H),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,Z)|0;var gt=(f+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(l,X)|0))<<13)|0;f=((o=o+Math.imul(l,Y)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,H))+Math.imul(S,q)|0,o=Math.imul(S,H),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(f+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(l,Q)|0))<<13)|0;f=((o=o+Math.imul(l,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,H))+Math.imul(E,q)|0,o=Math.imul(E,H),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(f+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(l,rt)|0))<<13)|0;f=((o=o+Math.imul(l,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,H))+Math.imul(B,q)|0,o=Math.imul(B,H),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,Y)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(f+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(l,ot)|0))<<13)|0;f=((o=o+Math.imul(l,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,H))+Math.imul(I,q)|0,o=Math.imul(I,H),n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(f+(n=n+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(l,ut)|0))<<13)|0;f=((o=o+Math.imul(l,ft)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,H))+Math.imul(j,q)|0,o=Math.imul(j,H),n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ft)|0;var St=(f+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(l,ht)|0))<<13)|0;f=((o=o+Math.imul(l,lt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,H))+Math.imul(F,q)|0,o=Math.imul(F,H),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(j,K)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(I,W)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,ft)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,lt)|0;var At=(f+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(l,pt)|0))<<13)|0;f=((o=o+Math.imul(l,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,G))+Math.imul(F,K)|0,o=Math.imul(F,G),n=n+Math.imul(U,W)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,Z)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ft)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,lt)|0;var xt=(f+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;f=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,Z))+Math.imul(F,W)|0,o=Math.imul(F,Z),n=n+Math.imul(U,X)|0,i=(i=i+Math.imul(U,Y)|0)+Math.imul(j,X)|0,o=o+Math.imul(j,Y)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ft)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,lt)|0;var Et=(f+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;f=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,Y))+Math.imul(F,X)|0,o=Math.imul(F,Y),n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ft)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,lt)|0;var Ot=(f+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;f=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ft)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,lt)|0;var Pt=(f+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,pt)|0))<<13)|0;f=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(I,ut)|0,o=o+Math.imul(I,ft)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,lt)|0;var Bt=(f+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(E,pt)|0))<<13)|0;f=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,at))+Math.imul(F,ot)|0,o=Math.imul(F,at),n=n+Math.imul(U,ut)|0,i=(i=i+Math.imul(U,ft)|0)+Math.imul(j,ut)|0,o=o+Math.imul(j,ft)|0,n=n+Math.imul(R,ht)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,lt)|0;var Tt=(f+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(B,pt)|0))<<13)|0;f=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,ft))+Math.imul(F,ut)|0,o=Math.imul(F,ft),n=n+Math.imul(U,ht)|0,i=(i=i+Math.imul(U,lt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,lt)|0;var Rt=(f+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(I,pt)|0))<<13)|0;f=((o=o+Math.imul(I,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ht),i=(i=Math.imul(L,lt))+Math.imul(F,ht)|0,o=Math.imul(F,lt);var It=(f+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,mt)|0)+Math.imul(j,pt)|0))<<13)|0;f=((o=o+Math.imul(j,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Ct=(f+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(F,pt)|0))<<13)|0;return f=((o=Math.imul(F,mt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,u[0]=bt,u[1]=vt,u[2]=yt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=Mt,u[8]=St,u[9]=At,u[10]=xt,u[11]=Et,u[12]=Ot,u[13]=Pt,u[14]=Bt,u[15]=Tt,u[16]=Rt,u[17]=It,u[18]=Ct,0!==f&&(u[19]=f,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return y(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?y(this,t,e):g(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},w.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,f=0;f=0&&(0!==c||f>=n);f--){var h=0|this.words[f];this.words[f]=c<<26-o|h>>>o,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i("number"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var f=0;f=0;h--){var l=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(l=Math.min(l/o|0,67108863),n._ishlnsubmul(i,l,h);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=l)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),f=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var l=0,d=1;0==(e.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(e.iushrn(l);l-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(c),o.isub(h)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var h=0,l=1;0==(r.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i("number"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new E(t)},a.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function k(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){k.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){k.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){k.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){k.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function O(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}k.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},k.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},k.prototype.split=function(t,e){t.iushrn(this.n,0,e)},k.prototype.imulK=function(t){return t.imul(this.k)},o(M,k),M.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},M.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new M;else if("p224"===t)e=new S;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return _[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,n),l=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],c=u-1;c>=0;c--){var h=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new O(t)},o(O,E),O.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},O.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},O.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},O.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t)}).call(this,r(17)(t))},function(t,e){},function(t){t.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')},function(t,e,r){"use strict";var n=r(19),i=r(8),o=r(3),a=r(67),s=n.assert;function u(t){a.call(this,"short",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function f(t,e,r,n){a.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(e,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function c(t,e,r,n){a.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(e,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new i(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)r=new i(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?r=o[0]:(r=o[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new i(t.a,16),b:new i(t.b,16)}})):this._getEndoBasis(r)}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:i.mont(t),r=new i(2).toRed(e).redInvm(),n=r.redNeg(),o=new i(3).toRed(e).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(t){for(var e,r,n,o,a,s,u,f,c,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=t,d=this.n.clone(),p=new i(1),m=new i(0),b=new i(0),v=new i(1),y=0;0!==l.cmpn(0);){var g=d.div(l);f=d.sub(g.mul(l)),c=b.sub(g.mul(p));var w=v.sub(g.mul(m));if(!n&&f.cmp(h)<0)e=u.neg(),r=p,n=f.neg(),o=c;else if(n&&2==++y)break;u=f,d=l,l=f,b=p,p=c,v=m,m=w}a=f.neg(),s=c;var _=n.sqr().add(o.sqr());return a.sqr().add(s.sqr()).cmp(_)>=0&&(a=e,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),f=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:u.add(f).neg()}},u.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(e&&!o||!e&&o)&&(n=n.redNeg()),this.point(t,n)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},f.prototype.isInfinity=function(){return this.inf},f.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},f.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},f.prototype.getX=function(){return this.x.fromRed()},f.prototype.getY=function(){return this.y.fromRed()},f.prototype.mul=function(t){return t=new i(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},f.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},f.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},f.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},f.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(c,a.BasePoint),u.prototype.jpoint=function(t,e,r){return new c(this,t,e,r)},c.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},c.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},c.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=s.redSqr(),c=f.redMul(s),h=n.redMul(f),l=u.redSqr().redIAdd(c).redISub(h).redISub(h),d=u.redMul(h.redISub(l)).redISub(o.redMul(c)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(l,d,p)},c.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),c=r.redMul(u),h=s.redSqr().redIAdd(f).redISub(c).redISub(c),l=s.redMul(c.redISub(h)).redISub(i.redMul(f)),d=this.z.redMul(a);return this.curve.jpoint(h,l,d)},c.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(t,e,r){"use strict";var n=r(8),i=r(3),o=r(67),a=r(19);function s(t){o.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,r){o.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(s,o),t.exports=s,s.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},i(u,o.BasePoint),s.prototype.decodePoint=function(t,e){return this.point(a.toArray(t,e),1)},s.prototype.point=function(t,e){return new u(this,t,e)},s.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),a=i.redMul(n),s=e.z.redMul(o.redAdd(a).redSqr()),u=e.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,u)},u.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(t,e,r){"use strict";var n=r(19),i=r(8),o=r(3),a=r(67),s=n.assert;function u(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,a.call(this,"edwards",t),this.a=new i(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function f(t,e,r,n,o){a.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(e,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,a),t.exports=u,u.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},u.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},u.prototype.jpoint=function(t,e,r,n){return this.point(t,e,r,n)},u.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=n.redMul(o.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var u=s.fromRed().isOdd();return(e&&!u||!e&&u)&&(s=s.redNeg()),this.point(t,s)},u.prototype.pointFromY=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=n.redMul(o.redInvm());if(0===a.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},u.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),n=e.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===n.cmp(i)},o(f,a.BasePoint),u.prototype.pointFromJSON=function(t){return f.fromJSON(this,t)},u.prototype.point=function(t,e,r,n){return new f(this,t,e,r,n)},f.fromJSON=function(t,e){return new f(t,e[0],e[1],e[2])},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},f.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),a=o.redSub(r),s=n.redSub(e),u=i.redMul(a),f=o.redMul(s),c=i.redMul(s),h=a.redMul(o);return this.curve.point(u,f,h,c)},f.prototype._projDbl=function(){var t,e,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var f=(n=this.curve._mulA(s)).redAdd(u);this.zOne?(t=a.redSub(s).redSub(u).redMul(f.redSub(this.curve.two)),e=f.redMul(n.redSub(u)),r=f.redSqr().redSub(f).redSub(f)):(i=this.z.redSqr(),o=f.redSub(i).redISub(i),t=a.redSub(s).redISub(u).redMul(o),e=f.redMul(n.redSub(u)),r=f.redMul(o))}else n=s.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),t=this.curve._mulC(a.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(s.redISub(u)),r=n.redMul(o);return this.curve.point(t,e,r)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},f.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=i.redSub(n),s=i.redAdd(n),u=r.redAdd(e),f=o.redMul(a),c=s.redMul(u),h=o.redMul(u),l=a.redMul(s);return this.curve.point(f,c,l,h)},f.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),u=i.redSub(s),f=i.redAdd(s),c=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),h=n.redMul(u).redMul(c);return this.curve.twisted?(e=n.redMul(f).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(f)):(e=n.redMul(f).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(f)),this.curve.point(h,e,r)},f.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},f.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},f.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},f.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},f.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()},f.prototype.getY=function(){return this.normalize(),this.y.fromRed()},f.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},f.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},f.prototype.toP=f.prototype.normalize,f.prototype.mixedAdd=f.prototype.add},function(t,e,r){"use strict";t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(8),o=r(405),a=r(19),s=r(95),u=r(91),f=a.assert,c=r(406),h=r(407);function l(t){if(!(this instanceof l))return new l(t);"string"==typeof t&&(f(Object.prototype.hasOwnProperty.call(s,t),"Unknown curve "+t),t=s[t]),t instanceof s.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new c(this,t)},l.prototype.keyFromPrivate=function(t,e){return c.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return c.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});for(var e=new o({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||u(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new i(2));;){var a=new i(e.generate(r));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}},l.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,r,a){"object"===(0,n.default)(r)&&(a=r,r=null),a||(a={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new i(t,16));for(var s=this.n.byteLength(),u=e.getPrivate().toArray("be",s),f=t.toArray("be",s),c=new o({hash:this.hash,entropy:u,nonce:f,pers:a.pers,persEnc:a.persEnc||"utf8"}),l=this.n.sub(new i(1)),d=0;;d++){var p=a.k?a.k(d):new i(c.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(l)>=0)){var m=this.g.mul(p);if(!m.isInfinity()){var b=m.getX(),v=b.umod(this.n);if(0!==v.cmpn(0)){var y=p.invm(this.n).mul(v.mul(e.getPrivate()).iadd(t));if(0!==(y=y.umod(this.n)).cmpn(0)){var g=(m.getY().isOdd()?1:0)|(0!==b.cmp(v)?2:0);return a.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),g^=1),new h({r:v,s:y,recoveryParam:g})}}}}}},l.prototype.verify=function(t,e,r,n){t=this._truncateToN(new i(t,16)),r=this.keyFromPublic(r,n);var o=(e=new h(e,"hex")).r,a=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,u=a.invm(this.n),f=u.mul(t).umod(this.n),c=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(f,r.getPublic(),c)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(f,r.getPublic(),c)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(t,e,r,n){f((3&r)===r,"The recovery param is more than two bits"),e=new h(e,n);var o=this.n,a=new i(t),s=e.r,u=e.s,c=1&r,l=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");s=l?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var d=e.r.invm(o),p=o.sub(a).mul(d).umod(o),m=u.mul(d).umod(o);return this.g.mulAdd(p,s,m)},l.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},function(t,e,r){"use strict";var n=r(60),i=r(183),o=r(18);function a(t){if(!(this instanceof a))return new a(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=i.toArray(t.entropy,t.entropyEnc||"hex"),r=i.toArray(t.nonce,t.nonceEnc||"hex"),n=i.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}t.exports=a,a.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},a.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length"}},function(t,e,r){"use strict";var n=r(8),i=r(19),o=i.assert;function a(t,e){if(t instanceof a)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function s(){this.place=0}function u(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function f(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=a,a.prototype._importDER=function(t,e){t=i.toArray(t,e);var r=new s;if(48!==t[r.place++])return!1;var o=u(t,r);if(!1===o)return!1;if(o+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var a=u(t,r);if(!1===a)return!1;var f=t.slice(r.place,a+r.place);if(r.place+=a,2!==t[r.place++])return!1;var c=u(t,r);if(!1===c)return!1;if(t.length!==c+r.place)return!1;var h=t.slice(r.place,c+r.place);if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new n(f),this.s=new n(h),this.recoveryParam=null,!0},a.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=f(e),r=f(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];c(n,e.length),(n=n.concat(e)).push(2),c(n,r.length);var o=n.concat(r),a=[48];return c(a,o.length),a=a.concat(o),i.encode(a,t)}},function(t,e,r){"use strict";var n=r(60),i=r(95),o=r(19),a=o.assert,s=o.parseBytes,u=r(409),f=r(410);function c(t){if(a("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof c))return new c(t);t=i[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=c,c.prototype.sign=function(t,e){t=s(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),u=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},c.prototype.verify=function(t,e,r){t=s(t),e=this.makeSignature(e);var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},c.prototype.hashInt=function(){for(var t=this.hash(),e=0;e=e)throw new Error("invalid sig")}t.exports=function(t,e,r,f,c){var h=a(r);if("ec"===h.type){if("ecdsa"!==f&&"ecdsa/rsa"!==f)throw new Error("wrong public key type");return function(t,e,r){var n=s[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new o(n),a=r.data.subjectPrivateKey.data;return i.verify(e,t,a)}(t,e,h)}if("dsa"===h.type){if("dsa"!==f)throw new Error("wrong public key type");return function(t,e,r){var n=r.data.p,o=r.data.q,s=r.data.g,f=r.data.pub_key,c=a.signature.decode(t,"der"),h=c.s,l=c.r;u(h,o),u(l,o);var d=i.mont(n),p=h.invm(o);return 0===s.toRed(d).redPow(new i(e).mul(p).mod(o)).fromRed().mul(f.toRed(d).redPow(l.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(l)}(t,e,h)}if("rsa"!==f&&"ecdsa/rsa"!==f)throw new Error("wrong public key type");e=n.concat([c,e]);for(var l=h.modulus.byteLength(),d=[1],p=0;e.length+d.length+2r-l-2)throw new Error("message too long");var d=h.alloc(r-n-l-2),p=r-c-1,m=i(c),b=s(h.concat([f,d,h.alloc(1,1),e],p),a(m,p)),v=s(m,a(b,c));return new u(h.concat([h.alloc(1),v,b],r))}(p,e);else if(1===l)d=function(t,e,r){var n,o=e.length,a=t.modulus.byteLength();if(o>a-11)throw new Error("message too long");n=r?h.alloc(a-o-3,255):function(t){var e,r=h.allocUnsafe(t),n=0,o=i(2*t),a=0;for(;n=0)throw new Error("data too long for modulus")}return r?c(d,p):f(d,p)}},function(t,e,r){"use strict";var n=r(68),i=r(192),o=r(193),a=r(8),s=r(94),u=r(36),f=r(194),c=r(4).Buffer;t.exports=function(t,e,r){var h;h=t.padding?t.padding:r?1:4;var l,d=n(t),p=d.modulus.byteLength();if(e.length>p||new a(e).cmp(d.modulus)>=0)throw new Error("decryption error");l=r?f(new a(e),d):s(e,d);var m=c.alloc(p-l.length);if(l=c.concat([m,l],p),4===h)return function(t,e){var r=t.modulus.byteLength(),n=u("sha1").update(c.alloc(0)).digest(),a=n.length;if(0!==e[0])throw new Error("decryption error");var s=e.slice(1,a+1),f=e.slice(a+1),h=o(s,i(f,a)),l=o(f,i(h,r-a-1));if(function(t,e){t=c.from(t),e=c.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));var i=-1;for(;++i=e.length){o++;break}var a=e.slice(2,i-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++;a.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(i)}(0,l,r);if(3===h)return l;throw new Error("unknown padding")}},function(t,e,r){"use strict";(function(t,n){function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(4),a=r(22),s=o.Buffer,u=o.kMaxLength,f=t.crypto||t.msCrypto,c=Math.pow(2,32)-1;function h(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>c||t<0)throw new TypeError("offset must be a uint32");if(t>u||t>e)throw new RangeError("offset out of range")}function l(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>c||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>u)throw new RangeError("buffer too small")}function d(t,e,r,i){if(n.browser){var o=t.buffer,s=new Uint8Array(o,e,r);return f.getRandomValues(s),i?void n.nextTick((function(){i(null,t)})):t}if(!i)return a(r).copy(t,e),t;a(r,(function(r,n){if(r)return i(r);n.copy(t,e),i(null,t)}))}f&&f.getRandomValues||!n.browser?(e.randomFill=function(e,r,n,i){if(!(s.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)i=r,r=0,n=e.length;else if("function"==typeof n)i=n,n=e.length-r;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return h(r,e.length),l(n,r,e.length),d(e,r,n,i)},e.randomFillSync=function(e,r,n){void 0===r&&(r=0);if(!(s.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');h(r,e.length),void 0===n&&(n=e.length-r);return l(n,r,e.length),d(e,r,n)}):(e.randomFill=i,e.randomFillSync=i)}).call(this,r(7),r(6))},function(t,e,r){"use strict";var n=r(8),i=r(150),o=function(t){return new n(t.slice(2),16)},a=function(t){var e="0x"+("0x"===t.slice(0,2)?new n(t.slice(2),16):new n(t,10)).toString("hex");return"0x0"===e?"0x":e},s=function(t){return"string"==typeof t?/^0x/.test(t)?t:"0x"+t:"0x"+new n(t).toString("hex")},u=function(t){return o(t).toNumber()},f=function(t){return function(e,r){return"0x"+o(e)[t](o(r)).toString("hex")}},c=f("add"),h=f("mul"),l=f("div"),d=f("sub");t.exports={toString:function(t){return o(t).toString(10)},fromString:a,toNumber:u,fromNumber:s,toEther:function(t){return u(l(t,a("10000000000")))/1e8},fromEther:function(t){return h(s(Math.floor(1e8*t)),a("10000000000"))},toUint256:function(t){return i.pad(32,t)},add:c,mul:h,div:l,sub:d}},function(t,e,r){"use strict";t.exports={encode:function(t){var e=function(t){return(e=t.toString(16)).length%2==0?e:"0"+e;var e},r=function(t,r){return t<56?e(r+t):e(r+e(t).length/2+55)+e(t)};return"0x"+function t(e){if("string"==typeof e){var n=e.slice(2);return(2!=n.length||n>="80"?r(n.length/2,128):"")+n}var i=e.map(t).join("");return r(i.length/2,192)+i}(t)},decode:function(t){var e=2,r=function(){if(e>=t.length)throw"";var r=t.slice(e,e+2);return r<"80"?(e+=2,"0x"+r):r<"c0"?i():o()},n=function(){var r=parseInt(t.slice(e,e+=2),16)%64;return r<56?r:parseInt(t.slice(e,e+=2*(r-55)),16)},i=function(){var r=n();return"0x"+t.slice(e,e+=2*r)},o=function(){for(var t=2*n()+e,i=[];e=64;){var d=r,p=n,m=i,b=o,v=a,y=s,g=u,w=f,_=void 0,k=void 0,M=void 0,S=void 0,A=void 0;for(k=0;k<16;k++)M=h+4*k,c[k]=(255&t[M])<<24|(255&t[M+1])<<16|(255&t[M+2])<<8|255&t[M+3];for(k=16;k<64;k++)S=((_=c[k-2])>>>17|_<<15)^(_>>>19|_<<13)^_>>>10,A=((_=c[k-15])>>>7|_<<25)^(_>>>18|_<<14)^_>>>3,c[k]=(S+c[k-7]|0)+(A+c[k-16]|0)|0;for(k=0;k<64;k++)S=(((v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7))+(v&y^~v&g)|0)+(w+(e[k]+c[k]|0)|0)|0,A=((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&p^d&m^p&m)|0,w=g,g=y,y=v,v=b+S|0,b=m,m=p,p=d,d=S+A|0;r=r+d|0,n=n+p|0,i=i+m|0,o=o+b|0,a=a+v|0,s=s+y|0,u=u+g|0,f=f+w|0,h+=64,l-=64}}h(t);var l,d=t.length%64,p=t.length/536870912|0,m=t.length<<3,b=d<56?56:120,v=t.slice(t.length-d,t.length);for(v.push(128),l=d+1;l>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(m>>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),h(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,f>>>24&255,f>>>16&255,f>>>8&255,f>>>0&255]}function i(t,e,r){t=t.length<=64?t:n(t);var i,o=64+e.length+4,a=new Array(o),s=new Array(64),u=[];for(i=0;i<64;i++)a[i]=54;for(i=0;i=o-4;t--){if(a[t]++,a[t]<=255)return;a[t]=0}}for(;r>=32;)f(),u=u.concat(n(s.concat(n(a)))),r-=32;return r>0&&(f(),u=u.concat(n(s.concat(n(a))).slice(0,r))),u}function o(t,e,r,n,i){var o;for(f(t,16*(2*r-1),i,0,16),o=0;o<2*r;o++)u(t,16*o,i,16),s(i,n),f(i,0,t,e+16*o,16);for(o=0;o>>32-e}function s(t,e){f(t,0,e,0,16);for(var r=8;r>0;r-=2)e[4]^=a(e[0]+e[12],7),e[8]^=a(e[4]+e[0],9),e[12]^=a(e[8]+e[4],13),e[0]^=a(e[12]+e[8],18),e[9]^=a(e[5]+e[1],7),e[13]^=a(e[9]+e[5],9),e[1]^=a(e[13]+e[9],13),e[5]^=a(e[1]+e[13],18),e[14]^=a(e[10]+e[6],7),e[2]^=a(e[14]+e[10],9),e[6]^=a(e[2]+e[14],13),e[10]^=a(e[6]+e[2],18),e[3]^=a(e[15]+e[11],7),e[7]^=a(e[3]+e[15],9),e[11]^=a(e[7]+e[3],13),e[15]^=a(e[11]+e[7],18),e[1]^=a(e[0]+e[3],7),e[2]^=a(e[1]+e[0],9),e[3]^=a(e[2]+e[1],13),e[0]^=a(e[3]+e[2],18),e[6]^=a(e[5]+e[4],7),e[7]^=a(e[6]+e[5],9),e[4]^=a(e[7]+e[6],13),e[5]^=a(e[4]+e[7],18),e[11]^=a(e[10]+e[9],7),e[8]^=a(e[11]+e[10],9),e[9]^=a(e[8]+e[11],13),e[10]^=a(e[9]+e[8],18),e[12]^=a(e[15]+e[14],7),e[13]^=a(e[12]+e[15],9),e[14]^=a(e[13]+e[12],13),e[15]^=a(e[14]+e[13],18);for(var n=0;n<16;++n)t[n]+=e[n]}function u(t,e,r,n){for(var i=0;i=256)return!1}return!0}function h(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function l(t,r,n,a,s,l,d){if(n=h(n,"N"),a=h(a,"r"),s=h(s,"p"),l=h(l,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>2147483647/128/a)throw new Error("N too large");if(a>2147483647/128/s)throw new Error("r too large");if(!c(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!c(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);for(var p=i(t,r,128*s*a),m=new Uint32Array(32*s*a),b=0;bT&&(r=T);for(var c=0;cT&&(r=T);for(var b=0;b>0&255),p.push(m[C]>>8&255),p.push(m[C]>>16&255),p.push(m[C]>>24&255);var U=i(t,p,l);return d&&d(null,1,U),U}d&&R(e)};if(!d)for(;;){var C=I();if(null!=C)return C}I()}var d={scrypt:function(t,e,r,n,i,o,a){return new Promise((function(s,u){var f=0;a&&a(0),l(t,e,r,n,i,o,(function(t,e,r){if(t)u(t);else if(r)a&&1!==f&&a(1),s(new Uint8Array(r));else if(a&&e!==f)return f=e,a(e)}))}))},syncScrypt:function(t,e,r,n,i,o){return new Uint8Array(l(t,e,r,n,i,o))}};t.exports=d}()}).call(this,r(120).setImmediate)},function(t,e,r){"use strict";var n=r(431),i=r(432),o=i;o.v1=n,o.v4=i,t.exports=o},function(t,e,r){"use strict";var n,i,o=r(195),a=r(196),s=0,u=0;t.exports=function(t,e,r){var f=e&&r||0,c=e||[],h=(t=t||{}).node||n,l=void 0!==t.clockseq?t.clockseq:i;if(null==h||null==l){var d=o();null==h&&(h=n=[1|d[0],d[1],d[2],d[3],d[4],d[5]]),null==l&&(l=i=16383&(d[6]<<8|d[7]))}var p=void 0!==t.msecs?t.msecs:(new Date).getTime(),m=void 0!==t.nsecs?t.nsecs:u+1,b=p-s+(m-u)/1e4;if(b<0&&void 0===t.clockseq&&(l=l+1&16383),(b<0||p>s)&&void 0===t.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");s=p,u=m,i=l;var v=(1e4*(268435455&(p+=122192928e5))+m)%4294967296;c[f++]=v>>>24&255,c[f++]=v>>>16&255,c[f++]=v>>>8&255,c[f++]=255&v;var y=p/4294967296*1e4&268435455;c[f++]=y>>>8&255,c[f++]=255&y,c[f++]=y>>>24&15|16,c[f++]=y>>>16&255,c[f++]=l>>>8|128,c[f++]=255&l;for(var g=0;g<6;++g)c[f+g]=h[g];return e||a(c)}},function(t,e,r){"use strict";var n=r(195),i=r(196);t.exports=function(t,e,r){var o=e&&r||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var a=(t=t||{}).random||(t.rng||n)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e)for(var s=0;s<16;++s)e[o+s]=a[s];return e||i(a)}},function(t,e,r){"use strict";(function(t){var n,i=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(e,"__esModule",{value:!0});var s=r(26),u=r(43),f=r(104),c=function(e){function r(t,r){var n;void 0===r&&(r={});var i=e.call(this,o(o({},t),{type:0}))||this;if(i.common=i._validateTxV(i.v,r.common),i.gasPrice=new s.BN(s.toBuffer(""===t.gasPrice?"0x":t.gasPrice)),i._validateCannotExceedMaxInteger({gasPrice:i.gasPrice}),i.common.gteHardfork("spuriousDragon"))if(i.isSigned()){var a=i.v,f=i.common.chainIdBN().muln(2);(a.eq(f.addn(35))||a.eq(f.addn(36)))&&i.activeCapabilities.push(u.Capability.EIP155ReplayProtection)}else i.activeCapabilities.push(u.Capability.EIP155ReplayProtection);return(null===(n=null==r?void 0:r.freeze)||void 0===n||n)&&Object.freeze(i),i}return i(r,e),r.fromTxData=function(t,e){return void 0===e&&(e={}),new r(t,e)},r.fromSerializedTx=function(t,e){void 0===e&&(e={});var r=s.rlp.decode(t);if(!Array.isArray(r))throw new Error("Invalid serialized tx input. Must be array");return this.fromValuesArray(r,e)},r.fromRlpSerializedTx=function(t,e){return void 0===e&&(e={}),r.fromSerializedTx(t,e)},r.fromValuesArray=function(t,e){if(void 0===e&&(e={}),6!==t.length&&9!==t.length)throw new Error("Invalid transaction. Only expecting 6 values (for unsigned tx) or 9 values (for signed tx).");var n=a(t,9);return new r({nonce:n[0],gasPrice:n[1],gasLimit:n[2],to:n[3],value:n[4],data:n[5],v:n[6],r:n[7],s:n[8]},e)},r.prototype.raw=function(){return[s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.gasPrice),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data,void 0!==this.v?s.bnToUnpaddedBuffer(this.v):t.from([]),void 0!==this.r?s.bnToUnpaddedBuffer(this.r):t.from([]),void 0!==this.s?s.bnToUnpaddedBuffer(this.s):t.from([])]},r.prototype.serialize=function(){return s.rlp.encode(this.raw())},r.prototype._getMessageToSign=function(){var e=[s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.gasPrice),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data];return this.supports(u.Capability.EIP155ReplayProtection)&&(e.push(s.toBuffer(this.common.chainIdBN())),e.push(s.unpadBuffer(s.toBuffer(0))),e.push(s.unpadBuffer(s.toBuffer(0)))),e},r.prototype.getMessageToSign=function(t){void 0===t&&(t=!0);var e=this._getMessageToSign();return t?s.rlphash(e):e},r.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},r.prototype.hash=function(){return s.rlphash(this.raw())},r.prototype.getMessageToVerifySignature=function(){if(!this.isSigned())throw Error("This transaction is not signed");var t=this._getMessageToSign();return s.rlphash(t)},r.prototype.getSenderPublicKey=function(){var t,e=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(t=this.s)||void 0===t?void 0:t.gt(u.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this.v,n=this.r,i=this.s;try{return s.ecrecover(e,r,s.bnToUnpaddedBuffer(n),s.bnToUnpaddedBuffer(i),this.supports(u.Capability.EIP155ReplayProtection)?this.common.chainIdBN():void 0)}catch(t){throw new Error("Invalid Signature")}},r.prototype._processSignature=function(t,e,n){var i=new s.BN(t);this.supports(u.Capability.EIP155ReplayProtection)&&i.iadd(this.common.chainIdBN().muln(2).addn(8));var o={common:this.common};return r.fromTxData({nonce:this.nonce,gasPrice:this.gasPrice,gasLimit:this.gasLimit,to:this.to,value:this.value,data:this.data,v:i,r:new s.BN(e),s:new s.BN(n)},o)},r.prototype.toJSON=function(){return{nonce:s.bnToHex(this.nonce),gasPrice:s.bnToHex(this.gasPrice),gasLimit:s.bnToHex(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:s.bnToHex(this.value),data:"0x"+this.data.toString("hex"),v:void 0!==this.v?s.bnToHex(this.v):void 0,r:void 0!==this.r?s.bnToHex(this.r):void 0,s:void 0!==this.s?s.bnToHex(this.s):void 0}},r.prototype._validateTxV=function(t,e){var r;if(void 0!==t&&!t.eqn(0)&&(!e||e.gteHardfork("spuriousDragon"))&&!t.eqn(27)&&!t.eqn(28))if(e){var n=e.chainIdBN().muln(2);if(!(t.eq(n.addn(35))||t.eq(n.addn(36))))throw new Error("Incompatible EIP155-based V "+t.toString()+" and chain id "+e.chainIdBN().toString()+". See the Common parameter of the Transaction constructor to set the chain id.")}else{var i=void 0;i=t.subn(35).isEven()?35:36,r=t.subn(i).divn(2)}return this._getCommon(e,r)},r.prototype._unsignedTxImplementsEIP155=function(){return this.common.gteHardfork("spuriousDragon")},r.prototype._signedTxImplementsEIP155=function(){if(!this.isSigned())throw Error("This transaction is not signed");var t=this.common.gteHardfork("spuriousDragon"),e=this.v,r=this.common.chainIdBN().muln(2);return(e.eq(r.addn(35))||e.eq(r.addn(36)))&&t},r}(f.BaseTransaction);e.default=c}).call(this,r(1).Buffer)},function(t,e){},function(t,e,r){"use strict";function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:function(t){return new Uint8Array(t)},e=arguments.length>1?arguments[1]:void 0;return"function"==typeof t&&(t=t(e)),y("output",t,e),t}function _(t){return Object.prototype.toString.call(t).slice(8,-1)}t.exports=function(t){return{contextRandomize:function(e){switch(v(null===e||e instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==e&&y("seed",e,32),t.contextRandomize(e)){case 1:throw new Error(u)}},privateKeyVerify:function(e){return y("private key",e,32),0===t.privateKeyVerify(e)},privateKeyNegate:function(e){switch(y("private key",e,32),t.privateKeyNegate(e)){case 0:return e;case 1:throw new Error(o)}},privateKeyTweakAdd:function(e,r){switch(y("private key",e,32),y("tweak",r,32),t.privateKeyTweakAdd(e,r)){case 0:return e;case 1:throw new Error(a)}},privateKeyTweakMul:function(e,r){switch(y("private key",e,32),y("tweak",r,32),t.privateKeyTweakMul(e,r)){case 0:return e;case 1:throw new Error(s)}},publicKeyVerify:function(e){return y("public key",e,[33,65]),0===t.publicKeyVerify(e)},publicKeyCreate:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("private key",e,32),g(r),n=w(n,r?33:65),t.publicKeyCreate(n,e)){case 0:return n;case 1:throw new Error(f);case 2:throw new Error(h)}},publicKeyConvert:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("public key",e,[33,65]),g(r),n=w(n,r?33:65),t.publicKeyConvert(n,e)){case 0:return n;case 1:throw new Error(c);case 2:throw new Error(h)}},publicKeyNegate:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;switch(y("public key",e,[33,65]),g(r),n=w(n,r?33:65),t.publicKeyNegate(n,e)){case 0:return n;case 1:throw new Error(c);case 2:throw new Error(o);case 3:throw new Error(h)}},publicKeyCombine:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;v(Array.isArray(e),"Expected public keys to be an Array"),v(e.length>0,"Expected public keys array will have more than zero items");var o,a=n(e);try{for(a.s();!(o=a.n()).done;){var s=o.value;y("public key",s,[33,65])}}catch(t){a.e(t)}finally{a.f()}switch(g(r),i=w(i,r?33:65),t.publicKeyCombine(i,e)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(l);case 3:throw new Error(h)}},publicKeyTweakAdd:function(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("tweak",r,32),g(n),i=w(i,n?33:65),t.publicKeyTweakAdd(i,e,r)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(a)}},publicKeyTweakMul:function(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("tweak",r,32),g(n),i=w(i,n?33:65),t.publicKeyTweakMul(i,e,r)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(s)}},signatureNormalize:function(e){switch(y("signature",e,64),t.signatureNormalize(e)){case 0:return e;case 1:throw new Error(d)}},signatureExport:function(e,r){y("signature",e,64);var n={output:r=w(r,72),outputlen:72};switch(t.signatureExport(n,e)){case 0:return r.slice(0,n.outputlen);case 1:throw new Error(d);case 2:throw new Error(o)}},signatureImport:function(e,r){switch(y("signature",e),r=w(r,64),t.signatureImport(r,e)){case 0:return r;case 1:throw new Error(d);case 2:throw new Error(o)}},ecdsaSign:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;y("message",e,32),y("private key",r,32),v("Object"===_(n),"Expected options to be an Object"),void 0!==n.data&&y("options.data",n.data),void 0!==n.noncefn&&v("Function"===_(n.noncefn),"Expected options.noncefn to be a Function");var a={signature:i=w(i,64),recid:null};switch(t.ecdsaSign(a,e,r,n.data,n.noncefn)){case 0:return a;case 1:throw new Error(p);case 2:throw new Error(o)}},ecdsaVerify:function(e,r,n){switch(y("signature",e,64),y("message",r,32),y("public key",n,[33,65]),t.ecdsaVerify(e,r,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(d);case 2:throw new Error(c)}},ecdsaRecover:function(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4?arguments[4]:void 0;switch(y("signature",e,64),v("Number"===_(r)&&r>=0&&r<=3,"Expected recovery id to be a Number within interval [0, 3]"),y("message",n,32),g(i),a=w(a,i?33:65),t.ecdsaRecover(a,e,r,n)){case 0:return a;case 1:throw new Error(d);case 2:throw new Error(m);case 3:throw new Error(o)}},ecdh:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;switch(y("public key",e,[33,65]),y("private key",r,32),v("Object"===_(n),"Expected options to be an Object"),void 0!==n.data&&y("options.data",n.data),void 0!==n.hashfn?(v("Function"===_(n.hashfn),"Expected options.hashfn to be a Function"),void 0!==n.xbuf&&y("options.xbuf",n.xbuf,32),void 0!==n.ybuf&&y("options.ybuf",n.ybuf,32),y("output",i)):i=w(i,32),t.ecdh(i,e,r,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return i;case 1:throw new Error(c);case 2:throw new Error(b)}}}}},function(t,e,r){"use strict";var n=new(0,r(54).ec)("secp256k1"),i=n.curve,o=i.n.constructor;function a(t){var e=t[0];switch(e){case 2:case 3:return 33!==t.length?null:function(t,e){var r=new o(e);if(r.cmp(i.p)>=0)return null;var a=(r=r.toRed(i.red)).redSqr().redIMul(r).redIAdd(i.b).redSqrt();return 3===t!==a.isOdd()&&(a=a.redNeg()),n.keyPair({pub:{x:r,y:a}})}(e,t.subarray(1,33));case 4:case 6:case 7:return 65!==t.length?null:function(t,e,r){var a=new o(e),s=new o(r);if(a.cmp(i.p)>=0||s.cmp(i.p)>=0)return null;if(a=a.toRed(i.red),s=s.toRed(i.red),(6===t||7===t)&&s.isOdd()!==(7===t))return null;var u=a.redSqr().redIMul(a);return s.redSqr().redISub(u.redIAdd(i.b)).isZero()?n.keyPair({pub:{x:a,y:s}}):null}(e,t.subarray(1,33),t.subarray(33,65));default:return null}}function s(t,e){for(var r=e.encode(null,33===t.length),n=0;n=0)return 1;if(r.iadd(new o(t)),r.cmp(i.n)>=0&&r.isub(i.n),r.isZero())return 1;var n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},privateKeyTweakMul:function(t,e){var r=new o(e);if(r.cmp(i.n)>=0||r.isZero())return 1;r.imul(new o(t)),r.cmp(i.n)>=0&&(r=r.umod(i.n));var n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},publicKeyVerify:function(t){return null===a(t)?1:0},publicKeyCreate:function(t,e){var r=new o(e);return r.cmp(i.n)>=0||r.isZero()?1:(s(t,n.keyFromPrivate(e).getPublic()),0)},publicKeyConvert:function(t,e){var r=a(e);return null===r?1:(s(t,r.getPublic()),0)},publicKeyNegate:function(t,e){var r=a(e);if(null===r)return 1;var n=r.getPublic();return n.y=n.y.redNeg(),s(t,n),0},publicKeyCombine:function(t,e){for(var r=new Array(e.length),n=0;n=0)return 2;var u=n.getPublic().add(i.g.mul(r));return u.isInfinity()?2:(s(t,u),0)},publicKeyTweakMul:function(t,e,r){var n=a(e);return null===n?1:(r=new o(r)).cmp(i.n)>=0||r.isZero()?2:(s(t,n.getPublic().mul(r)),0)},signatureNormalize:function(t){var e=new o(t.subarray(0,32)),r=new o(t.subarray(32,64));return e.cmp(i.n)>=0||r.cmp(i.n)>=0?1:(1===r.cmp(n.nh)&&t.set(i.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport:function(t,e){var r=e.subarray(0,32),n=e.subarray(32,64);if(new o(r).cmp(i.n)>=0)return 1;if(new o(n).cmp(i.n)>=0)return 1;var a=t.output,s=a.subarray(4,37);s[0]=0,s.set(r,1);for(var u=33,f=0;u>1&&0===s[f]&&!(128&s[f+1]);--u,++f);if(128&(s=s.subarray(f))[0])return 1;if(u>1&&0===s[0]&&!(128&s[1]))return 1;var c=a.subarray(39,72);c[0]=0,c.set(n,1);for(var h=33,l=0;h>1&&0===c[l]&&!(128&c[l+1]);--h,++l);return 128&(c=c.subarray(l))[0]||h>1&&0===c[0]&&!(128&c[1])?1:(t.outputlen=6+u+h,a[0]=48,a[1]=t.outputlen-2,a[2]=2,a[3]=s.length,a.set(s,4),a[4+u]=2,a[5+u]=c.length,a.set(c,6+u),0)},signatureImport:function(t,e){if(e.length<8)return 1;if(e.length>72)return 1;if(48!==e[0])return 1;if(e[1]!==e.length-2)return 1;if(2!==e[2])return 1;var r=e[3];if(0===r)return 1;if(5+r>=e.length)return 1;if(2!==e[4+r])return 1;var n=e[5+r];if(0===n)return 1;if(6+r+n!==e.length)return 1;if(128&e[4])return 1;if(r>1&&0===e[4]&&!(128&e[5]))return 1;if(128&e[r+6])return 1;if(n>1&&0===e[r+6]&&!(128&e[r+7]))return 1;var a=e.subarray(4,4+r);if(33===a.length&&0===a[0]&&(a=a.subarray(1)),a.length>32)return 1;var s=e.subarray(6+r);if(33===s.length&&0===s[0]&&(s=s.slice(1)),s.length>32)throw new Error("S length is too long");var u=new o(a);u.cmp(i.n)>=0&&(u=new o(0));var f=new o(e.subarray(6+r));return f.cmp(i.n)>=0&&(f=new o(0)),t.set(u.toArrayLike(Uint8Array,"be",32),0),t.set(f.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign:function(t,e,r,a,s){if(s){var u=s;s=function(t){var n=u(e,r,null,a,t);if(!(n instanceof Uint8Array&&32===n.length))throw new Error("This is the way");return new o(n)}}var f,c=new o(r);if(c.cmp(i.n)>=0||c.isZero())return 1;try{f=n.sign(e,r,{canonical:!0,k:s,pers:a})}catch(t){return 1}return t.signature.set(f.r.toArrayLike(Uint8Array,"be",32),0),t.signature.set(f.s.toArrayLike(Uint8Array,"be",32),32),t.recid=f.recoveryParam,0},ecdsaVerify:function(t,e,r){var s={r:t.subarray(0,32),s:t.subarray(32,64)},u=new o(s.r),f=new o(s.s);if(u.cmp(i.n)>=0||f.cmp(i.n)>=0)return 1;if(1===f.cmp(n.nh)||u.isZero()||f.isZero())return 3;var c=a(r);if(null===c)return 2;var h=c.getPublic();return n.verify(e,s,h)?0:3},ecdsaRecover:function(t,e,r,a){var u,f={r:e.slice(0,32),s:e.slice(32,64)},c=new o(f.r),h=new o(f.s);if(c.cmp(i.n)>=0||h.cmp(i.n)>=0)return 1;if(c.isZero()||h.isZero())return 2;try{u=n.recoverPubKey(a,f,r)}catch(t){return 2}return s(t,u),0},ecdh:function(t,e,r,s,u,f,c){var h=a(e);if(null===h)return 1;var l=new o(r);if(l.cmp(i.n)>=0||l.isZero())return 2;var d=h.getPublic().mul(l);if(void 0===u)for(var p=d.encode(null,!0),m=n.hash().update(p).digest(),b=0;b<32;++b)t[b]=m[b];else{f||(f=new Uint8Array(32));for(var v=d.getX().toArray("be",32),y=0;y<32;++y)f[y]=v[y];c||(c=new Uint8Array(32));for(var g=d.getY().toArray("be",32),w=0;w<32;++w)c[w]=g[w];var _=u(f,c,s);if(!(_ instanceof Uint8Array&&_.length===t.length))return 2;t.set(_)}return 0}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(22);e.getRandomBytes=function(t){return new Promise((function(e,r){n(t,(function(t,n){t?r(t):e(n)}))}))},e.getRandomBytesSync=function(t){return n(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(439),i=r(440);e.keccak224=n.createHashFunction((function(){return i("keccak224")})),e.keccak256=n.createHashFunction((function(){return i("keccak256")})),e.keccak384=n.createHashFunction((function(){return i("keccak384")})),e.keccak512=n.createHashFunction((function(){return i("keccak512")}))},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.createHashFunction=function(e){return function(r){var n=e();return n.update(r),t.from(n.digest())}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=r(441)(r(444))},function(t,e,r){"use strict";var n=r(442),i=r(443);t.exports=function(t){var e=n(t),r=i(t);return function(t,n){switch("string"==typeof t?t.toLowerCase():t){case"keccak224":return new e(1152,448,null,224,n);case"keccak256":return new e(1088,512,null,256,n);case"keccak384":return new e(832,768,null,384,n);case"keccak512":return new e(576,1024,null,512,n);case"sha3-224":return new e(1152,448,6,224,n);case"sha3-256":return new e(1088,512,6,256,n);case"sha3-384":return new e(832,768,6,384,n);case"sha3-512":return new e(576,1024,6,512,n);case"shake128":return new r(1344,256,31,n);case"shake256":return new r(1088,512,31,n);default:throw new Error("Invald algorithm: "+t)}}}},function(t,e,r){"use strict";(function(e){var n=r(0),i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=r(87).Transform;t.exports=function(t){return function(r){(0,a.default)(s,r);var n=f(s);function s(e,r,o,a,u){var f;return(0,i.default)(this,s),(f=n.call(this,u))._rate=e,f._capacity=r,f._delimitedSuffix=o,f._hashBitLength=a,f._options=u,f._state=new t,f._state.initialize(e,r),f._finalized=!1,f}return(0,o.default)(s,[{key:"_transform",value:function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)}},{key:"_flush",value:function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)}},{key:"update",value:function(t,r){if(!e.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return e.isBuffer(t)||(t=e.from(t,r)),this._state.absorb(t),this}},{key:"digest",value:function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);var e=this._state.squeeze(this._hashBitLength/8);return void 0!==t&&(e=e.toString(t)),this._resetState(),e}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var t=new s(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}}]),s}(c)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(e){var n=r(0),i=n(r(5)),o=n(r(9)),a=n(r(14)),s=n(r(15)),u=n(r(13));function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,u.default)(t);if(e){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var c=r(87).Transform;t.exports=function(t){return function(r){(0,a.default)(s,r);var n=f(s);function s(e,r,o,a){var u;return(0,i.default)(this,s),(u=n.call(this,a))._rate=e,u._capacity=r,u._delimitedSuffix=o,u._options=a,u._state=new t,u._state.initialize(e,r),u._finalized=!1,u}return(0,o.default)(s,[{key:"_transform",value:function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)}},{key:"_flush",value:function(){}},{key:"_read",value:function(t){this.push(this.squeeze(t))}},{key:"update",value:function(t,r){if(!e.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return e.isBuffer(t)||(t=e.from(t,r)),this._state.absorb(t),this}},{key:"squeeze",value:function(t,e){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));var r=this._state.squeeze(t);return void 0!==e&&(r=r.toString(e)),r}},{key:"_resetState",value:function(){return this._state.initialize(this._rate,this._capacity),this}},{key:"_clone",value:function(){var t=new s(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(t._state),t._finalized=this._finalized,t}}]),s}(c)}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(e){var n=r(445);function i(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}i.prototype.initialize=function(t,e){for(var r=0;r<50;++r)this.state[r]=0;this.blockSize=t/8,this.count=0,this.squeezing=!1},i.prototype.absorb=function(t){for(var e=0;e>>this.count%4*8&255,this.count+=1,this.count===this.blockSize&&(n.p1600(this.state),this.count=0);return r},i.prototype.copy=function(t){for(var e=0;e<50;++e)t.state[e]=this.state[e];t.blockSize=this.blockSize,t.count=this.count,t.squeezing=this.squeezing},t.exports=i}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];e.p1600=function(t){for(var e=0;e<24;++e){var r=t[0]^t[10]^t[20]^t[30]^t[40],i=t[1]^t[11]^t[21]^t[31]^t[41],o=t[2]^t[12]^t[22]^t[32]^t[42],a=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],u=t[5]^t[15]^t[25]^t[35]^t[45],f=t[6]^t[16]^t[26]^t[36]^t[46],c=t[7]^t[17]^t[27]^t[37]^t[47],h=t[8]^t[18]^t[28]^t[38]^t[48],l=t[9]^t[19]^t[29]^t[39]^t[49],d=h^(o<<1|a>>>31),p=l^(a<<1|o>>>31),m=t[0]^d,b=t[1]^p,v=t[10]^d,y=t[11]^p,g=t[20]^d,w=t[21]^p,_=t[30]^d,k=t[31]^p,M=t[40]^d,S=t[41]^p;d=r^(s<<1|u>>>31),p=i^(u<<1|s>>>31);var A=t[2]^d,x=t[3]^p,E=t[12]^d,O=t[13]^p,P=t[22]^d,B=t[23]^p,T=t[32]^d,R=t[33]^p,I=t[42]^d,C=t[43]^p;d=o^(f<<1|c>>>31),p=a^(c<<1|f>>>31);var U=t[4]^d,j=t[5]^p,N=t[14]^d,L=t[15]^p,F=t[24]^d,D=t[25]^p,q=t[34]^d,H=t[35]^p,z=t[44]^d,K=t[45]^p;d=s^(h<<1|l>>>31),p=u^(l<<1|h>>>31);var G=t[6]^d,V=t[7]^p,W=t[16]^d,Z=t[17]^p,J=t[26]^d,X=t[27]^p,Y=t[36]^d,$=t[37]^p,Q=t[46]^d,tt=t[47]^p;d=f^(r<<1|i>>>31),p=c^(i<<1|r>>>31);var et=t[8]^d,rt=t[9]^p,nt=t[18]^d,it=t[19]^p,ot=t[28]^d,at=t[29]^p,st=t[38]^d,ut=t[39]^p,ft=t[48]^d,ct=t[49]^p,ht=m,lt=b,dt=y<<4|v>>>28,pt=v<<4|y>>>28,mt=g<<3|w>>>29,bt=w<<3|g>>>29,vt=k<<9|_>>>23,yt=_<<9|k>>>23,gt=M<<18|S>>>14,wt=S<<18|M>>>14,_t=A<<1|x>>>31,kt=x<<1|A>>>31,Mt=O<<12|E>>>20,St=E<<12|O>>>20,At=P<<10|B>>>22,xt=B<<10|P>>>22,Et=R<<13|T>>>19,Ot=T<<13|R>>>19,Pt=I<<2|C>>>30,Bt=C<<2|I>>>30,Tt=j<<30|U>>>2,Rt=U<<30|j>>>2,It=N<<6|L>>>26,Ct=L<<6|N>>>26,Ut=D<<11|F>>>21,jt=F<<11|D>>>21,Nt=q<<15|H>>>17,Lt=H<<15|q>>>17,Ft=K<<29|z>>>3,Dt=z<<29|K>>>3,qt=G<<28|V>>>4,Ht=V<<28|G>>>4,zt=Z<<23|W>>>9,Kt=W<<23|Z>>>9,Gt=J<<25|X>>>7,Vt=X<<25|J>>>7,Wt=Y<<21|$>>>11,Zt=$<<21|Y>>>11,Jt=tt<<24|Q>>>8,Xt=Q<<24|tt>>>8,Yt=et<<27|rt>>>5,$t=rt<<27|et>>>5,Qt=nt<<20|it>>>12,te=it<<20|nt>>>12,ee=at<<7|ot>>>25,re=ot<<7|at>>>25,ne=st<<8|ut>>>24,ie=ut<<8|st>>>24,oe=ft<<14|ct>>>18,ae=ct<<14|ft>>>18;t[0]=ht^~Mt&Ut,t[1]=lt^~St&jt,t[10]=qt^~Qt&mt,t[11]=Ht^~te&bt,t[20]=_t^~It&Gt,t[21]=kt^~Ct&Vt,t[30]=Yt^~dt&At,t[31]=$t^~pt&xt,t[40]=Tt^~zt&ee,t[41]=Rt^~Kt&re,t[2]=Mt^~Ut&Wt,t[3]=St^~jt&Zt,t[12]=Qt^~mt&Et,t[13]=te^~bt&Ot,t[22]=It^~Gt&ne,t[23]=Ct^~Vt&ie,t[32]=dt^~At&Nt,t[33]=pt^~xt&Lt,t[42]=zt^~ee&vt,t[43]=Kt^~re&yt,t[4]=Ut^~Wt&oe,t[5]=jt^~Zt&ae,t[14]=mt^~Et&Ft,t[15]=bt^~Ot&Dt,t[24]=Gt^~ne>,t[25]=Vt^~ie&wt,t[34]=At^~Nt&Jt,t[35]=xt^~Lt&Xt,t[44]=ee^~vt&Pt,t[45]=re^~yt&Bt,t[6]=Wt^~oe&ht,t[7]=Zt^~ae<,t[16]=Et^~Ft&qt,t[17]=Ot^~Dt&Ht,t[26]=ne^~gt&_t,t[27]=ie^~wt&kt,t[36]=Nt^~Jt&Yt,t[37]=Lt^~Xt&$t,t[46]=vt^~Pt&Tt,t[47]=yt^~Bt&Rt,t[8]=oe^~ht&Mt,t[9]=ae^~lt&St,t[18]=Ft^~qt&Qt,t[19]=Dt^~Ht&te,t[28]=gt^~_t&It,t[29]=wt^~kt&Ct,t[38]=Jt^~Yt&dt,t[39]=Xt^~$t&pt,t[48]=Pt^~Tt&zt,t[49]=Bt^~Rt&Kt,t[0]^=n[2*e],t[1]^=n[2*e+1]}}},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Address=void 0;var i=n(r(100)),o=n(r(34)),a=r(35),s=r(199),u=function(){function e(t){i.default(20===t.length,"Invalid address length"),this.buf=t}return e.zero=function(){return new e(a.zeros(20))},e.fromString=function(t){return i.default(s.isValidAddress(t),"Invalid address"),new e(a.toBuffer(t))},e.fromPublicKey=function(r){return i.default(t.isBuffer(r),"Public key should be Buffer"),new e(s.pubToAddress(r))},e.fromPrivateKey=function(r){return i.default(t.isBuffer(r),"Private key should be Buffer"),new e(s.privateToAddress(r))},e.generate=function(r,n){return i.default(o.default.isBN(n)),new e(s.generateAddress(r.buf,n.toArrayLike(t)))},e.generate2=function(r,n,o){return i.default(t.isBuffer(n)),i.default(t.isBuffer(o)),new e(s.generateAddress2(r.buf,n,o))},e.prototype.equals=function(t){return this.buf.equals(t.buf)},e.prototype.isZero=function(){return this.equals(e.zero())},e.prototype.isPrecompileOrSystemAddress=function(){var t=new o.default(this.buf),e=new o.default(0),r=new o.default("ffff","hex");return t.gte(e)&&t.lte(r)},e.prototype.toString=function(){return"0x"+this.buf.toString("hex")},e.prototype.toBuffer=function(){return t.from(this.buf)},e}();e.Address=u}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.hashPersonalMessage=e.isValidSignature=e.fromRpcSig=e.toCompactSig=e.toRpcSig=e.ecrecover=e.ecsign=void 0;var i=r(200),o=n(r(34)),a=r(35),s=r(102),u=r(70),f=r(103);function c(t,e){var r=f.toType(t,f.TypeOutput.BN);if(!e)return r.subn(27);var n=f.toType(e,f.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function h(t){var e=new o.default(t);return e.eqn(0)||e.eqn(1)}e.ecsign=function(e,r,n){var o=i.ecdsaSign(e,r),a=o.signature,s=o.recid,u=t.from(a.slice(0,32)),c=t.from(a.slice(32,64));if(!n||"number"==typeof n){if(n&&!Number.isSafeInteger(n))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:u,s:c,v:n?s+(2*n+35):s+27}}return{r:u,s:c,v:f.toType(n,f.TypeOutput.BN).muln(2).addn(35).addn(s).toArrayLike(t)}},e.ecrecover=function(e,r,n,o,s){var u=t.concat([a.setLengthLeft(n,32),a.setLengthLeft(o,32)],64),f=c(r,s);if(!h(f))throw new Error("Invalid signature v value");var l=i.ecdsaRecover(u,f.toNumber(),e);return t.from(i.publicKeyConvert(l,!1).slice(1))},e.toRpcSig=function(e,r,n,i){if(!h(c(e,i)))throw new Error("Invalid signature v value");return a.bufferToHex(t.concat([a.setLengthLeft(r,32),a.setLengthLeft(n,32),a.toBuffer(e)]))},e.toCompactSig=function(e,r,n,i){if(!h(c(e,i)))throw new Error("Invalid signature v value");var o=f.toType(e,f.TypeOutput.Number),s=n;return(o>28&&o%2==1||1===o||28===o)&&((s=t.from(n))[0]|=128),a.bufferToHex(t.concat([a.setLengthLeft(r,32),a.setLengthLeft(s,32)]))},e.fromRpcSig=function(t){var e,r,n,i=a.toBuffer(t);if(i.length>=65)e=i.slice(0,32),r=i.slice(32,64),n=a.bufferToInt(i.slice(64));else{if(64!==i.length)throw new Error("Invalid signature length");e=i.slice(0,32),r=i.slice(32,64),n=a.bufferToInt(i.slice(32,33))>>7,r[0]&=127}return n<27&&(n+=27),{v:n,r:e,s:r}},e.isValidSignature=function(t,e,r,n,i){void 0===n&&(n=!0);var a=new o.default("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new o.default("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==e.length||32!==r.length)return!1;if(!h(c(t,i)))return!1;var u=new o.default(e),f=new o.default(r);return!(u.isZero()||u.gt(s)||f.isZero()||f.gt(s))&&(!n||1!==f.cmp(a))},e.hashPersonalMessage=function(e){u.assertIsBuffer(e);var r=t.from("Ethereum Signed Message:\n"+e.length.toString(),"utf-8");return s.keccak(t.concat([r,e]))}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n=r(0)(r(2)),i=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},o=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&i(e,t,r);return o(e,t),e},s=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.defineProperties=void 0;var u=s(r(100)),f=a(r(42)),c=a(r(69)),h=r(35);e.defineProperties=function(e,r,i){if(e.raw=[],e._fields=[],e.toJSON=function(t){if(void 0===t&&(t=!1),t){var r={};return e._fields.forEach((function(t){r[t]="0x"+e[t].toString("hex")})),r}return h.baToJSON(e.raw)},e.serialize=function(){return c.encode(e.raw)},r.forEach((function(r,n){function i(){return e.raw[n]}function o(i){"00"!==(i=h.toBuffer(i)).toString("hex")||r.allowZero||(i=t.allocUnsafe(0)),r.allowLess&&r.length?(i=h.unpadBuffer(i),u.default(r.length>=i.length,"The field "+r.name+" must not have more "+r.length+" bytes")):r.allowZero&&0===i.length||!r.length||u.default(r.length===i.length,"The field "+r.name+" must have byte length of "+r.length),e.raw[n]=i}e._fields.push(r.name),Object.defineProperty(e,r.name,{enumerable:!0,configurable:!0,get:i,set:o}),r.default&&(e[r.name]=r.default),r.alias&&Object.defineProperty(e,r.alias,{enumerable:!1,configurable:!0,set:o,get:i})})),i)if("string"==typeof i&&(i=t.from(f.stripHexPrefix(i),"hex")),t.isBuffer(i)&&(i=c.decode(i)),Array.isArray(i)){if(i.length>e._fields.length)throw new Error("wrong number of fields in data");i.forEach((function(t,r){e[e._fields[r]]=h.toBuffer(t)}))}else{if("object"!==(0,n.default)(i))throw new Error("invalid data");var o=Object.keys(i);r.forEach((function(t){-1!==o.indexOf(t.name)&&(e[t.name]=i[t.name]),-1!==o.indexOf(t.alias)&&(e[t.alias]=i[t.alias])}))}}}).call(this,r(1).Buffer)},function(t,e,r){"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e},a=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.rlp=e.BN=void 0;var s=a(r(34));e.BN=s.default;var u=o(r(69));e.rlp=u},function(t,e,r){"use strict";(function(t){var n,i,o=r(0)(r(2));i=function(t){t.version="1.2.0";var e=function(){for(var t=0,e=new Array(256),r=0;256!=r;++r)t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=r)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1,e[r]=t;return"undefined"!=typeof Int32Array?new Int32Array(e):e}();t.table=e,t.bstr=function(t,r){for(var n=-1^r,i=t.length-1,o=0;o>>8^e[255&(n^t.charCodeAt(o++))])>>>8^e[255&(n^t.charCodeAt(o++))];return o===i&&(n=n>>>8^e[255&(n^t.charCodeAt(o))]),-1^n},t.buf=function(t,r){if(t.length>1e4)return function(t,r){for(var n=-1^r,i=t.length-7,o=0;o>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])];for(;o>>8^e[255&(n^t[o++])];return-1^n}(t,r);for(var n=-1^r,i=t.length-3,o=0;o>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])])>>>8^e[255&(n^t[o++])];for(;o>>8^e[255&(n^t[o++])];return-1^n},t.str=function(t,r){for(var n,i,o=-1^r,a=0,s=t.length;a>>8^e[255&(o^n)]:n<2048?o=(o=o>>>8^e[255&(o^(192|n>>6&31))])>>>8^e[255&(o^(128|63&n))]:n>=55296&&n<57344?(n=64+(1023&n),i=1023&t.charCodeAt(a++),o=(o=(o=(o=o>>>8^e[255&(o^(240|n>>8&7))])>>>8^e[255&(o^(128|n>>2&63))])>>>8^e[255&(o^(128|i>>6&15|(3&n)<<4))])>>>8^e[255&(o^(128|63&i))]):o=(o=(o=o>>>8^e[255&(o^(224|n>>12&15))])>>>8^e[255&(o^(128|n>>6&63))])>>>8^e[255&(o^(128|63&n))];return-1^o}},"undefined"==typeof DO_NOT_EXPORT_CRC?"object"===(0,o.default)(e)?i(e):void 0===(n=function(){var t={};return i(t),t}.call(e,r,e,t))||(t.exports=n):i({})}).call(this,r(17)(t))},function(t,e,r){"use strict";var n=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.chains=e._getInitializedChains=void 0;var o=i(r(452)),a=i(r(453)),s=i(r(454)),u=i(r(455)),f=i(r(456)),c=i(r(457));function h(t){var e,r,i={1:"mainnet",3:"ropsten",4:"rinkeby",42:"kovan",5:"goerli",123:"calaveras"},h={mainnet:o.default,ropsten:a.default,rinkeby:s.default,kovan:u.default,goerli:f.default,calaveras:c.default};if(t)try{for(var l=n(t),d=l.next();!d.done;d=l.next()){var p=d.value,m=p.name;i[p.chainId.toString()]=m,h[m]=p}}catch(t){e={error:t}}finally{try{d&&!d.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}return h.names=i,h}e._getInitializedChains=h,e.chains=h()},function(t){t.exports=JSON.parse('{"name":"mainnet","chainId":1,"networkId":1,"defaultHardfork":"istanbul","consensus":{"type":"pow","algorithm":"ethash","ethash":{}},"comment":"The Ethereum main chain","url":"https://ethstats.net/","genesis":{"hash":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","timestamp":null,"gasLimit":5000,"difficulty":17179869184,"nonce":"0x0000000000000042","extraData":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","stateRoot":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xfc64ec04"},{"name":"homestead","block":1150000,"forkHash":"0x97c2c34c"},{"name":"dao","block":1920000,"forkHash":"0x91d1f948"},{"name":"tangerineWhistle","block":2463000,"forkHash":"0x7a64da13"},{"name":"spuriousDragon","block":2675000,"forkHash":"0x3edd5b10"},{"name":"byzantium","block":4370000,"forkHash":"0xa00bc324"},{"name":"constantinople","block":7280000,"forkHash":"0x668db0af"},{"name":"petersburg","block":7280000,"forkHash":"0x668db0af"},{"name":"istanbul","block":9069000,"forkHash":"0x879d6e30"},{"name":"muirGlacier","block":9200000,"forkHash":"0xe029e991"},{"name":"berlin","block":12244000,"forkHash":"0x0eb440f6"},{"name":"london","block":12965000,"forkHash":"0xb715077d"}],"bootstrapNodes":[{"ip":"18.138.108.67","port":30303,"id":"d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666","location":"ap-southeast-1-001","comment":"bootnode-aws-ap-southeast-1-001"},{"ip":"3.209.45.79","port":30303,"id":"22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de","location":"us-east-1-001","comment":"bootnode-aws-us-east-1-001"},{"ip":"34.255.23.113","port":30303,"id":"ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758","location":"eu-west-1-001","comment":"bootnode-aws-eu-west-1-001"},{"ip":"35.158.244.151","port":30303,"id":"279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8","location":"eu-central-1-001","comment":"bootnode-aws-eu-central-1-001"},{"ip":"52.187.207.27","port":30303,"id":"8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a","location":"australiaeast-001","comment":"bootnode-azure-australiaeast-001"},{"ip":"191.234.162.198","port":30303,"id":"103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1","location":"brazilsouth-001","comment":"bootnode-azure-brazilsouth-001"},{"ip":"52.231.165.108","port":30303,"id":"715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8","location":"koreasouth-001","comment":"bootnode-azure-koreasouth-001"},{"ip":"104.42.217.25","port":30303,"id":"5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f","location":"westus-001","comment":"bootnode-azure-westus-001"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"ropsten","chainId":3,"networkId":3,"defaultHardfork":"istanbul","consensus":{"type":"pow","algorithm":"ethash","ethash":{}},"comment":"PoW test network","url":"https://github.com/ethereum/ropsten","genesis":{"hash":"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d","timestamp":null,"gasLimit":16777216,"difficulty":1048576,"nonce":"0x0000000000000042","extraData":"0x3535353535353535353535353535353535353535353535353535353535353535","stateRoot":"0x217b0bbcfb72e2d57e28f33cb361b9983513177755dc3f33ce3e7022ed62b77b"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x30c7ddbc"},{"name":"homestead","block":0,"forkHash":"0x30c7ddbc"},{"name":"dao","block":null,"forkHash":null},{"name":"tangerineWhistle","block":0,"forkHash":"0x30c7ddbc"},{"name":"spuriousDragon","block":10,"forkHash":"0x63760190"},{"name":"byzantium","block":1700000,"forkHash":"0x3ea159c7"},{"name":"constantinople","block":4230000,"forkHash":"0x97b544f3"},{"name":"petersburg","block":4939394,"forkHash":"0xd6e2149b"},{"name":"istanbul","block":6485846,"forkHash":"0x4bc66396"},{"name":"muirGlacier","block":7117117,"forkHash":"0x6727ef90"},{"name":"berlin","block":9812189,"forkHash":"0xa157d377"},{"name":"london","block":10499401,"forkHash":"0x7119b6b3"}],"bootstrapNodes":[{"ip":"52.176.7.10","port":30303,"id":"30b7ab30a01c124a6cceca36863ece12c4f5fa68e3ba9b0b51407ccc002eeed3b3102d20a88f1c1d3c3154e2449317b8ef95090e77b312d5cc39354f86d5d606","location":"","comment":"US-Azure geth"},{"ip":"52.176.100.77","port":30303,"id":"865a63255b3bb68023b6bffd5095118fcc13e79dcf014fe4e47e065c350c7cc72af2e53eff895f11ba1bbb6a2b33271c1116ee870f266618eadfc2e78aa7349c","location":"","comment":"US-Azure parity"},{"ip":"52.232.243.152","port":30303,"id":"6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f","location":"","comment":"Parity"},{"ip":"192.81.208.223","port":30303,"id":"94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09","location":"","comment":"@gpip"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.ropsten.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"rinkeby","chainId":4,"networkId":4,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"clique","clique":{"period":15,"epoch":30000}},"comment":"PoA test network","url":"https://www.rinkeby.io","genesis":{"hash":"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177","timestamp":"0x58ee40ba","gasLimit":4700000,"difficulty":1,"nonce":"0x0000000000000000","extraData":"0x52657370656374206d7920617574686f7269746168207e452e436172746d616e42eb768f2244c8811c63729a21a3569731535f067ffc57839b00206d1ad20c69a1981b489f772031b279182d99e65703f0076e4812653aab85fca0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x53580584816f617295ea26c0e17641e0120cab2f0a8ffb53a866fd53aa8e8c2d"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x3b8e0691"},{"name":"homestead","block":1,"forkHash":"0x60949295"},{"name":"dao","block":null,"forkHash":null},{"name":"tangerineWhistle","block":2,"forkHash":"0x8bde40dd"},{"name":"spuriousDragon","block":3,"forkHash":"0xcb3a64bb"},{"name":"byzantium","block":1035301,"forkHash":"0x8d748b57"},{"name":"constantinople","block":3660663,"forkHash":"0xe49cab14"},{"name":"petersburg","block":4321234,"forkHash":"0xafec6b27"},{"name":"istanbul","block":5435345,"forkHash":"0xcbdb8838"},{"name":"berlin","block":8290928,"forkHash":"0x6910c8bd"},{"name":"london","block":8897988,"forkHash":"0x8e29f2f3"}],"bootstrapNodes":[{"ip":"52.169.42.101","port":30303,"id":"a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf","location":"","comment":"IE"},{"ip":"52.3.158.184","port":30303,"id":"343149e4feefa15d882d9fe4ac7d88f885bd05ebb735e547f12e12080a9fa07c8014ca6fd7f373123488102fe5e34111f8509cf0b7de3f5b44339c9f25e87cb8","location":"","comment":"INFURA"},{"ip":"159.89.28.211","port":30303,"id":"b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6","location":"","comment":"AKASHA"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.rinkeby.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"kovan","chainId":42,"networkId":42,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"aura","aura":{}},"comment":"Parity PoA test network","url":"https://kovan-testnet.github.io/website/","genesis":{"hash":"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9","timestamp":null,"gasLimit":6000000,"difficulty":131072,"nonce":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","extraData":"0x","stateRoot":"0x2480155b48a1cea17d67dbfdfaafe821c1d19cdd478c5358e8ec56dec24502b2"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0x010ffe56"},{"name":"homestead","block":0,"forkHash":"0x010ffe56"},{"name":"dao","block":null,"forkHash":"0x010ffe56"},{"name":"tangerineWhistle","block":0,"forkHash":"0x010ffe56"},{"name":"spuriousDragon","block":0,"forkHash":"0x010ffe56"},{"name":"byzantium","block":5067000,"forkHash":"0x7f83c620"},{"name":"constantinople","block":9200000,"forkHash":"0xa94e3dc4"},{"name":"petersburg","block":10255201,"forkHash":"0x186874aa"},{"name":"istanbul","block":14111141,"forkHash":"0x7f6599a6"},{"name":"berlin","block":null,"forkHash":null},{"name":"london","block":null,"forkHash":null}],"bootstrapNodes":[{"ip":"116.203.116.241","port":30303,"id":"16898006ba2cd4fa8bf9a3dfe32684c178fa861df144bfc21fe800dc4838a03e342056951fa9fd533dcb0be1219e306106442ff2cf1f7e9f8faa5f2fc1a3aa45","location":"","comment":"1"},{"ip":"3.217.96.11","port":30303,"id":"2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0","location":"","comment":"2"},{"ip":"108.61.170.124","port":30303,"id":"740e1c8ea64e71762c71a463a04e2046070a0c9394fcab5891d41301dc473c0cff00ebab5a9bc87fbcb610ab98ac18225ff897bc8b7b38def5975d5ceb0a7d7c","location":"","comment":"3"},{"ip":"157.230.31.163","port":30303,"id":"2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0","location":"","comment":"4"}]}')},function(t){t.exports=JSON.parse('{"name":"goerli","chainId":5,"networkId":5,"defaultHardfork":"istanbul","consensus":{"type":"poa","algorithm":"clique","clique":{"period":15,"epoch":30000}},"comment":"Cross-client PoA test network","url":"https://github.com/goerli/testnet","genesis":{"hash":"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a","timestamp":"0x5c51a607","gasLimit":10485760,"difficulty":1,"nonce":"0x0000000000000000","extraData":"0x22466c6578692069732061207468696e6722202d204166726900000000000000e0a2bd4258d2768837baa26a28fe71dc079f84c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x5d6cded585e73c4e322c30c2f782a336316f17dd85a4863b9d838d2d4b8b3008"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xa3f5ab08"},{"name":"homestead","block":0,"forkHash":"0xa3f5ab08"},{"name":"dao","block":null,"forkHash":"0xa3f5ab08"},{"name":"tangerineWhistle","block":0,"forkHash":"0xa3f5ab08"},{"name":"spuriousDragon","block":0,"forkHash":"0xa3f5ab08"},{"name":"byzantium","block":0,"forkHash":"0xa3f5ab08"},{"name":"constantinople","block":0,"forkHash":"0xa3f5ab08"},{"name":"petersburg","block":0,"forkHash":"0xa3f5ab08"},{"name":"istanbul","block":1561651,"forkHash":"0xc25efa5c"},{"name":"berlin","block":4460644,"forkHash":"0x757a1c47"},{"name":"london","block":5062605,"forkHash":"0xb8c6299d"}],"bootstrapNodes":[{"ip":"51.141.78.53","port":30303,"id":"011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a","location":"","comment":"Upstream bootnode 1"},{"ip":"13.93.54.137","port":30303,"id":"176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b","location":"","comment":"Upstream bootnode 2"},{"ip":"94.237.54.114","port":30313,"id":"46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291","location":"","comment":"Upstream bootnode 3"},{"ip":"18.218.250.66","port":30313,"id":"b5948a2d3e9d486c4d75bf32713221c2bd6cf86463302339299bd227dc2e276cd5a1c7ca4f43a0e9122fe9af884efed563bd2a1fd28661f3b5f5ad7bf1de5949","location":"","comment":"Upstream bootnode 4"},{"ip":"3.11.147.67","port":30303,"id":"a61215641fb8714a373c80edbfa0ea8878243193f57c96eeb44d0bc019ef295abd4e044fd619bfc4c59731a73fb79afe84e9ab6da0c743ceb479cbb6d263fa91","location":"","comment":"Ethereum Foundation bootnode"},{"ip":"51.15.116.226","port":30303,"id":"a869b02cec167211fb4815a82941db2e7ed2936fd90e78619c53eb17753fcf0207463e3419c264e2a1dd8786de0df7e68cf99571ab8aeb7c4e51367ef186b1dd","location":"","comment":"Goerli Initiative bootnode"},{"ip":"51.15.119.157","port":30303,"id":"807b37ee4816ecf407e9112224494b74dd5933625f655962d892f2f0f02d7fbbb3e2a94cf87a96609526f30c998fd71e93e2f53015c558ffc8b03eceaf30ee33","location":"","comment":"Goerli Initiative bootnode"},{"ip":"51.15.119.157","port":40303,"id":"a59e33ccd2b3e52d578f1fbd70c6f9babda2650f0760d6ff3b37742fdcdfdb3defba5d56d315b40c46b70198c7621e63ffa3f987389c7118634b0fefbbdfa7fd","location":"","comment":"Goerli Initiative bootnode"}],"dnsNetworks":["enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.goerli.ethdisco.net"]}')},function(t){t.exports=JSON.parse('{"name":"calaveras","chainId":123,"networkId":123,"defaultHardfork":"berlin","consensus":{"type":"poa","algorithm":"clique","clique":{"period":30,"epoch":30000}},"comment":"The Calaveras testnet chain","url":"https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/client-integration-testnets/calaveras.md","genesis":{"hash":"0xeb9233d066c275efcdfed8037f4fc082770176aefdbcb7691c71da412a5670f2","gasLimit":"0x47b760","difficulty":"0x1","nonce":"0x0000000000000000","extraData":"0x00000000000000000000000000000000000000000000000000000000000000005211cea3870c7ba7c6c44b185e62eecdb864cd8c560228ce57d31efbf64c200b2c200aacec78cf17a7148e784fe95a7a750335f8b9572ee28d72e7650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","stateRoot":"0x664c93de37eb4a72953ea42b8c046cdb64c9f0b0bca5505ade8d970d49ebdb8c","timestamp":"0x60b3877f"},"hardforks":[{"name":"chainstart","block":0,"forkHash":"0xe34c4aff"},{"name":"homestead","block":0,"forkHash":"0xe34c4aff"},{"name":"dao","block":null,"forkHash":"0xe34c4aff"},{"name":"tangerineWhistle","block":0,"forkHash":"0xe34c4aff"},{"name":"spuriousDragon","block":0,"forkHash":"0xe34c4aff"},{"name":"byzantium","block":0,"forkHash":"0xe34c4aff"},{"name":"constantinople","block":0,"forkHash":"0xe34c4aff"},{"name":"petersburg","block":0,"forkHash":"0xe34c4aff"},{"name":"istanbul","block":0,"forkHash":"0xe34c4aff"},{"name":"berlin","block":0,"forkHash":"0xe34c4aff"},{"name":"london","block":500,"forkHash":"0x173783e4"}],"bootstrapNodes":[{"ip":"3.21.156.138","port":30303,"id":"39eb08bbfad87481553c471a63ff2a4b4885fffa4ff50f1cf46744d9ad6e2f764ede146fe4df563fa9ccda1a46b9b1a88fb08135e1bf1d71b320912499da773d","location":"","comment":"Calaveras bootnode 1"},{"ip":"3.9.20.133","port":30303,"id":"9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9","location":"","comment":"Calaveras bootnode 2"}]}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hardforks=void 0,e.hardforks=[["chainstart",r(459)],["homestead",r(460)],["dao",r(461)],["tangerineWhistle",r(462)],["spuriousDragon",r(463)],["byzantium",r(464)],["constantinople",r(465)],["petersburg",r(466)],["istanbul",r(467)],["muirGlacier",r(468)],["berlin",r(469)],["london",r(470)]]},function(t){t.exports=JSON.parse('{"name":"chainstart","comment":"Start of the Ethereum main chain","url":"","status":"","gasConfig":{"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be"},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations"},"maxRefundQuotient":{"v":2,"d":"Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)"}},"gasPrices":{"base":{"v":2,"d":"Gas base cost, used e.g. for ChainID opcode (Istanbul)"},"tierStep":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them"},"exp":{"v":10,"d":"Base fee of the EXP opcode"},"expByte":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction"},"sha3":{"v":30,"d":"Base fee of the SHA3 opcode"},"sha3Word":{"v":6,"d":"Once per word of the SHA3 operation\'s data"},"sload":{"v":50,"d":"Base fee of the SLOAD opcode"},"sstoreSet":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero"},"sstoreReset":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero"},"sstoreRefund":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero"},"jumpdest":{"v":1,"d":"Base fee of the JUMPDEST opcode"},"log":{"v":375,"d":"Base fee of the LOG opcode"},"logData":{"v":8,"d":"Per byte in a LOG* operation\'s data"},"logTopic":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas"},"create":{"v":32000,"d":"Base fee of the CREATE opcode"},"call":{"v":40,"d":"Base fee of the CALL opcode"},"callStipend":{"v":2300,"d":"Free gas given at beginning of call"},"callValueTransfer":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero"},"callNewAccount":{"v":25000,"d":"Paid for CALL when the destination address didn\'t exist prior"},"selfdestructRefund":{"v":24000,"d":"Refunded following a selfdestruct operation"},"memory":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL"},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation"},"createData":{"v":200,"d":""},"tx":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions"},"txCreation":{"v":32000,"d":"The cost of creating a contract via tx"},"txDataZero":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions"},"txDataNonZero":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions"},"copy":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added"},"ecRecover":{"v":3000,"d":""},"sha256":{"v":60,"d":""},"sha256Word":{"v":12,"d":""},"ripemd160":{"v":600,"d":""},"ripemd160Word":{"v":120,"d":""},"identity":{"v":15,"d":""},"identityWord":{"v":3,"d":""},"stop":{"v":0,"d":"Base fee of the STOP opcode"},"add":{"v":3,"d":"Base fee of the ADD opcode"},"mul":{"v":5,"d":"Base fee of the MUL opcode"},"sub":{"v":3,"d":"Base fee of the SUB opcode"},"div":{"v":5,"d":"Base fee of the DIV opcode"},"sdiv":{"v":5,"d":"Base fee of the SDIV opcode"},"mod":{"v":5,"d":"Base fee of the MOD opcode"},"smod":{"v":5,"d":"Base fee of the SMOD opcode"},"addmod":{"v":8,"d":"Base fee of the ADDMOD opcode"},"mulmod":{"v":8,"d":"Base fee of the MULMOD opcode"},"signextend":{"v":5,"d":"Base fee of the SIGNEXTEND opcode"},"lt":{"v":3,"d":"Base fee of the LT opcode"},"gt":{"v":3,"d":"Base fee of the GT opcode"},"slt":{"v":3,"d":"Base fee of the SLT opcode"},"sgt":{"v":3,"d":"Base fee of the SGT opcode"},"eq":{"v":3,"d":"Base fee of the EQ opcode"},"iszero":{"v":3,"d":"Base fee of the ISZERO opcode"},"and":{"v":3,"d":"Base fee of the AND opcode"},"or":{"v":3,"d":"Base fee of the OR opcode"},"xor":{"v":3,"d":"Base fee of the XOR opcode"},"not":{"v":3,"d":"Base fee of the NOT opcode"},"byte":{"v":3,"d":"Base fee of the BYTE opcode"},"address":{"v":2,"d":"Base fee of the ADDRESS opcode"},"balance":{"v":20,"d":"Base fee of the BALANCE opcode"},"origin":{"v":2,"d":"Base fee of the ORIGIN opcode"},"caller":{"v":2,"d":"Base fee of the CALLER opcode"},"callvalue":{"v":2,"d":"Base fee of the CALLVALUE opcode"},"calldataload":{"v":3,"d":"Base fee of the CALLDATALOAD opcode"},"calldatasize":{"v":2,"d":"Base fee of the CALLDATASIZE opcode"},"calldatacopy":{"v":3,"d":"Base fee of the CALLDATACOPY opcode"},"codesize":{"v":2,"d":"Base fee of the CODESIZE opcode"},"codecopy":{"v":3,"d":"Base fee of the CODECOPY opcode"},"gasprice":{"v":2,"d":"Base fee of the GASPRICE opcode"},"extcodesize":{"v":20,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":20,"d":"Base fee of the EXTCODECOPY opcode"},"blockhash":{"v":20,"d":"Base fee of the BLOCKHASH opcode"},"coinbase":{"v":2,"d":"Base fee of the COINBASE opcode"},"timestamp":{"v":2,"d":"Base fee of the TIMESTAMP opcode"},"number":{"v":2,"d":"Base fee of the NUMBER opcode"},"difficulty":{"v":2,"d":"Base fee of the DIFFICULTY opcode"},"gaslimit":{"v":2,"d":"Base fee of the GASLIMIT opcode"},"pop":{"v":2,"d":"Base fee of the POP opcode"},"mload":{"v":3,"d":"Base fee of the MLOAD opcode"},"mstore":{"v":3,"d":"Base fee of the MSTORE opcode"},"mstore8":{"v":3,"d":"Base fee of the MSTORE8 opcode"},"sstore":{"v":0,"d":"Base fee of the SSTORE opcode"},"jump":{"v":8,"d":"Base fee of the JUMP opcode"},"jumpi":{"v":10,"d":"Base fee of the JUMPI opcode"},"pc":{"v":2,"d":"Base fee of the PC opcode"},"msize":{"v":2,"d":"Base fee of the MSIZE opcode"},"gas":{"v":2,"d":"Base fee of the GAS opcode"},"push":{"v":3,"d":"Base fee of the PUSH opcode"},"dup":{"v":3,"d":"Base fee of the DUP opcode"},"swap":{"v":3,"d":"Base fee of the SWAP opcode"},"callcode":{"v":40,"d":"Base fee of the CALLCODE opcode"},"return":{"v":0,"d":"Base fee of the RETURN opcode"},"invalid":{"v":0,"d":"Base fee of the INVALID opcode"},"selfdestruct":{"v":0,"d":"Base fee of the SELFDESTRUCT opcode"}},"vm":{"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed"},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack"},"maxExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis"}},"pow":{"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be"},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations"},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not"},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"difficultyBombDelay":{"v":0,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"homestead","comment":"Homestead hardfork with protocol and network changes","url":"https://eips.ethereum.org/EIPS/eip-606","status":"Final","gasConfig":{},"gasPrices":{"delegatecall":{"v":40,"d":"Base fee of the DELEGATECALL opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"dao","comment":"DAO rescue hardfork","url":"https://eips.ethereum.org/EIPS/eip-779","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"tangerineWhistle","comment":"Hardfork with gas cost changes for IO-heavy operations","url":"https://eips.ethereum.org/EIPS/eip-608","status":"Final","gasConfig":{},"gasPrices":{"sload":{"v":200,"d":"Once per SLOAD operation"},"call":{"v":700,"d":"Once per CALL operation & message call transaction"},"extcodesize":{"v":700,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":700,"d":"Base fee of the EXTCODECOPY opcode"},"balance":{"v":400,"d":"Base fee of the BALANCE opcode"},"delegatecall":{"v":700,"d":"Base fee of the DELEGATECALL opcode"},"callcode":{"v":700,"d":"Base fee of the CALLCODE opcode"},"selfdestruct":{"v":5000,"d":"Base fee of the SELFDESTRUCT opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"spuriousDragon","comment":"HF with EIPs for simple replay attack protection, EXP cost increase, state trie clearing, contract code size limit","url":"https://eips.ethereum.org/EIPS/eip-607","status":"Final","gasConfig":{},"gasPrices":{"expByte":{"v":50,"d":"Times ceil(log256(exponent)) for the EXP instruction"}},"vm":{"maxCodeSize":{"v":24576,"d":"Maximum length of contract code"}},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"byzantium","comment":"Hardfork with new precompiles, instructions and other protocol changes","url":"https://eips.ethereum.org/EIPS/eip-609","status":"Final","gasConfig":{},"gasPrices":{"modexpGquaddivisor":{"v":20,"d":"Gquaddivisor from modexp precompile for gas calculation"},"ecAdd":{"v":500,"d":"Gas costs for curve addition precompile"},"ecMul":{"v":40000,"d":"Gas costs for curve multiplication precompile"},"ecPairing":{"v":100000,"d":"Base gas costs for curve pairing precompile"},"ecPairingWord":{"v":80000,"d":"Gas costs regarding curve pairing precompile input length"},"revert":{"v":0,"d":"Base fee of the REVERT opcode"},"staticcall":{"v":700,"d":"Base fee of the STATICCALL opcode"},"returndatasize":{"v":2,"d":"Base fee of the RETURNDATASIZE opcode"},"returndatacopy":{"v":3,"d":"Base fee of the RETURNDATACOPY opcode"}},"vm":{},"pow":{"minerReward":{"v":"3000000000000000000","d":"the amount a miner get rewarded for mining a block"},"difficultyBombDelay":{"v":3000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"constantinople","comment":"Postponed hardfork including EIP-1283 (SSTORE gas metering changes)","url":"https://eips.ethereum.org/EIPS/eip-1013","status":"Final","gasConfig":{},"gasPrices":{"netSstoreNoopGas":{"v":200,"d":"Once per SSTORE operation if the value doesn\'t change"},"netSstoreInitGas":{"v":20000,"d":"Once per SSTORE operation from clean zero"},"netSstoreCleanGas":{"v":5000,"d":"Once per SSTORE operation from clean non-zero"},"netSstoreDirtyGas":{"v":200,"d":"Once per SSTORE operation from dirty"},"netSstoreClearRefund":{"v":15000,"d":"Once per SSTORE operation for clearing an originally existing storage slot"},"netSstoreResetRefund":{"v":4800,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"netSstoreResetClearRefund":{"v":19800,"d":"Once per SSTORE operation for resetting to the original zero value"},"shl":{"v":3,"d":"Base fee of the SHL opcode"},"shr":{"v":3,"d":"Base fee of the SHR opcode"},"sar":{"v":3,"d":"Base fee of the SAR opcode"},"extcodehash":{"v":400,"d":"Base fee of the EXTCODEHASH opcode"},"create2":{"v":32000,"d":"Base fee of the CREATE2 opcode"}},"vm":{},"pow":{"minerReward":{"v":"2000000000000000000","d":"The amount a miner gets rewarded for mining a block"},"difficultyBombDelay":{"v":5000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"petersburg","comment":"Aka constantinopleFix, removes EIP-1283, activate together with or after constantinople","url":"https://eips.ethereum.org/EIPS/eip-1716","status":"Draft","gasConfig":{},"gasPrices":{"netSstoreNoopGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreInitGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreCleanGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreDirtyGas":{"v":null,"d":"Removed along EIP-1283"},"netSstoreClearRefund":{"v":null,"d":"Removed along EIP-1283"},"netSstoreResetRefund":{"v":null,"d":"Removed along EIP-1283"},"netSstoreResetClearRefund":{"v":null,"d":"Removed along EIP-1283"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"istanbul","comment":"HF targeted for December 2019 following the Constantinople/Petersburg HF","url":"https://eips.ethereum.org/EIPS/eip-1679","status":"Draft","gasConfig":{},"gasPrices":{"blake2Round":{"v":1,"d":"Gas cost per round for the Blake2 F precompile"},"ecAdd":{"v":150,"d":"Gas costs for curve addition precompile"},"ecMul":{"v":6000,"d":"Gas costs for curve multiplication precompile"},"ecPairing":{"v":45000,"d":"Base gas costs for curve pairing precompile"},"ecPairingWord":{"v":34000,"d":"Gas costs regarding curve pairing precompile input length"},"txDataNonZero":{"v":16,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions"},"sstoreSentryGasEIP2200":{"v":2300,"d":"Minimum gas required to be present for an SSTORE call, not consumed"},"sstoreNoopGasEIP2200":{"v":800,"d":"Once per SSTORE operation if the value doesn\'t change"},"sstoreDirtyGasEIP2200":{"v":800,"d":"Once per SSTORE operation if a dirty value is changed"},"sstoreInitGasEIP2200":{"v":20000,"d":"Once per SSTORE operation from clean zero to non-zero"},"sstoreInitRefundEIP2200":{"v":19200,"d":"Once per SSTORE operation for resetting to the original zero value"},"sstoreCleanGasEIP2200":{"v":5000,"d":"Once per SSTORE operation from clean non-zero to something else"},"sstoreCleanRefundEIP2200":{"v":4200,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"sstoreClearRefundEIP2200":{"v":15000,"d":"Once per SSTORE operation for clearing an originally existing storage slot"},"balance":{"v":700,"d":"Base fee of the BALANCE opcode"},"extcodehash":{"v":700,"d":"Base fee of the EXTCODEHASH opcode"},"chainid":{"v":2,"d":"Base fee of the CHAINID opcode"},"selfbalance":{"v":5,"d":"Base fee of the SELFBALANCE opcode"},"sload":{"v":800,"d":"Base fee of the SLOAD opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"muirGlacier","comment":"HF to delay the difficulty bomb","url":"https://eips.ethereum.org/EIPS/eip-2384","status":"Final","gasConfig":{},"gasPrices":{},"vm":{},"pow":{"difficultyBombDelay":{"v":9000000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t){t.exports=JSON.parse('{"name":"berlin","comment":"HF targeted for July 2020 following the Muir Glacier HF","url":"https://eips.ethereum.org/EIPS/eip-2070","status":"Draft","eips":[2565,2929,2718,2930]}')},function(t){t.exports=JSON.parse('{"name":"london","comment":"HF targeted for July 2021 following the Berlin fork","url":"https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/mainnet-upgrades/london.md","status":"Draft","eips":[1559,3198,3529,3541]}')},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EIPs=void 0,e.EIPs={1559:r(472),2315:r(473),2537:r(474),2565:r(475),2718:r(476),2929:r(477),2930:r(478),3198:r(479),3529:r(480),3541:r(481),3554:r(482)}},function(t){t.exports=JSON.parse('{"name":"EIP-1559","number":1559,"comment":"Fee market change for ETH 1.0 chain","url":"https://eips.ethereum.org/EIPS/eip-1559","status":"Review","minimumHardfork":"berlin","requiredEIPs":[2930],"gasConfig":{"baseFeeMaxChangeDenominator":{"v":8,"d":"Maximum base fee change denominator"},"elasticityMultiplier":{"v":2,"d":"Maximum block gas target elasticity"},"initialBaseFee":{"v":1000000000,"d":"Initial base fee on first EIP1559 block"}},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2315","number":2315,"comment":"Simple subroutines for the EVM","url":"https://eips.ethereum.org/EIPS/eip-2315","status":"Draft","minimumHardfork":"istanbul","gasConfig":{},"gasPrices":{"beginsub":{"v":2,"d":"Base fee of the BEGINSUB opcode"},"returnsub":{"v":5,"d":"Base fee of the RETURNSUB opcode"},"jumpsub":{"v":10,"d":"Base fee of the JUMPSUB opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2537","number":2537,"comment":"BLS12-381 precompiles","url":"https://eips.ethereum.org/EIPS/eip-2537","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{"Bls12381G1AddGas":{"v":600,"d":"Gas cost of a single BLS12-381 G1 addition precompile-call"},"Bls12381G1MulGas":{"v":12000,"d":"Gas cost of a single BLS12-381 G1 multiplication precompile-call"},"Bls12381G2AddGas":{"v":4500,"d":"Gas cost of a single BLS12-381 G2 addition precompile-call"},"Bls12381G2MulGas":{"v":55000,"d":"Gas cost of a single BLS12-381 G2 multiplication precompile-call"},"Bls12381PairingBaseGas":{"v":115000,"d":"Base gas cost of BLS12-381 pairing check"},"Bls12381PairingPerPairGas":{"v":23000,"d":"Per-pair gas cost of BLS12-381 pairing check"},"Bls12381MapG1Gas":{"v":5500,"d":"Gas cost of BLS12-381 map field element to G1"},"Bls12381MapG2Gas":{"v":110000,"d":"Gas cost of BLS12-381 map field element to G2"},"Bls12381MultiExpGasDiscount":{"v":[[1,1200],[2,888],[3,764],[4,641],[5,594],[6,547],[7,500],[8,453],[9,438],[10,423],[11,408],[12,394],[13,379],[14,364],[15,349],[16,334],[17,330],[18,326],[19,322],[20,318],[21,314],[22,310],[23,306],[24,302],[25,298],[26,294],[27,289],[28,285],[29,281],[30,277],[31,273],[32,269],[33,268],[34,266],[35,265],[36,263],[37,262],[38,260],[39,259],[40,257],[41,256],[42,254],[43,253],[44,251],[45,250],[46,248],[47,247],[48,245],[49,244],[50,242],[51,241],[52,239],[53,238],[54,236],[55,235],[56,233],[57,232],[58,231],[59,229],[60,228],[61,226],[62,225],[63,223],[64,222],[65,221],[66,220],[67,219],[68,219],[69,218],[70,217],[71,216],[72,216],[73,215],[74,214],[75,213],[76,213],[77,212],[78,211],[79,211],[80,210],[81,209],[82,208],[83,208],[84,207],[85,206],[86,205],[87,205],[88,204],[89,203],[90,202],[91,202],[92,201],[93,200],[94,199],[95,199],[96,198],[97,197],[98,196],[99,196],[100,195],[101,194],[102,193],[103,193],[104,192],[105,191],[106,191],[107,190],[108,189],[109,188],[110,188],[111,187],[112,186],[113,185],[114,185],[115,184],[116,183],[117,182],[118,182],[119,181],[120,180],[121,179],[122,179],[123,178],[124,177],[125,176],[126,176],[127,175],[128,174]],"d":"Discount gas costs of calls to the MultiExp precompiles with `k` (point, scalar) pair"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2565","number":2565,"comment":"ModExp gas cost","url":"https://eips.ethereum.org/EIPS/eip-2565","status":"Last call","minimumHardfork":"byzantium","gasConfig":{},"gasPrices":{"modexpGquaddivisor":{"v":3,"d":"Gquaddivisor from modexp precompile for gas calculation"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2718","comment":"Typed Transaction Envelope","url":"https://eips.ethereum.org/EIPS/eip-2718","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2929","comment":"Gas cost increases for state access opcodes","url":"https://eips.ethereum.org/EIPS/eip-2929","status":"Draft","minimumHardfork":"chainstart","gasConfig":{},"gasPrices":{"coldsload":{"v":2100,"d":"Gas cost of the first read of storage from a given location (per transaction)"},"coldaccountaccess":{"v":2600,"d":"Gas cost of the first read of a given address (per transaction)"},"warmstorageread":{"v":100,"d":"Gas cost of reading storage locations which have already loaded \'cold\'"},"sstoreCleanGasEIP2200":{"v":2900,"d":"Once per SSTORE operation from clean non-zero to something else"},"sstoreNoopGasEIP2200":{"v":100,"d":"Once per SSTORE operation if the value doesn\'t change"},"sstoreDirtyGasEIP2200":{"v":100,"d":"Once per SSTORE operation if a dirty value is changed"},"sstoreInitRefundEIP2200":{"v":19900,"d":"Once per SSTORE operation for resetting to the original zero value"},"sstoreCleanRefundEIP2200":{"v":4900,"d":"Once per SSTORE operation for resetting to the original non-zero value"},"call":{"v":0,"d":"Base fee of the CALL opcode"},"callcode":{"v":0,"d":"Base fee of the CALLCODE opcode"},"delegatecall":{"v":0,"d":"Base fee of the DELEGATECALL opcode"},"staticcall":{"v":0,"d":"Base fee of the STATICCALL opcode"},"balance":{"v":0,"d":"Base fee of the BALANCE opcode"},"extcodesize":{"v":0,"d":"Base fee of the EXTCODESIZE opcode"},"extcodecopy":{"v":0,"d":"Base fee of the EXTCODECOPY opcode"},"extcodehash":{"v":0,"d":"Base fee of the EXTCODEHASH opcode"},"sload":{"v":0,"d":"Base fee of the SLOAD opcode"},"sstore":{"v":0,"d":"Base fee of the SSTORE opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-2930","comment":"Optional access lists","url":"https://eips.ethereum.org/EIPS/eip-2930","status":"Draft","minimumHardfork":"istanbul","requiredEIPs":[2718,2929],"gasConfig":{},"gasPrices":{"accessListStorageKeyCost":{"v":1900,"d":"Gas cost per storage key in an Access List transaction"},"accessListAddressCost":{"v":2400,"d":"Gas cost per storage key in an Access List transaction"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3198","number":3198,"comment":"BASEFEE opcode","url":"https://eips.ethereum.org/EIPS/eip-3198","status":"Review","minimumHardfork":"london","gasConfig":{},"gasPrices":{"basefee":{"v":2,"d":"Gas cost of the BASEFEE opcode"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3529","comment":"Reduction in refunds","url":"https://eips.ethereum.org/EIPS/eip-3529","status":"Draft","minimumHardfork":"berlin","requiredEIPs":[2929],"gasConfig":{"maxRefundQuotient":{"v":5,"d":"Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)"}},"gasPrices":{"selfdestructRefund":{"v":0,"d":"Refunded following a selfdestruct operation"},"sstoreClearRefundEIP2200":{"v":4800,"d":"Once per SSTORE operation for clearing an originally existing storage slot"}},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3541","comment":"Reject new contracts starting with the 0xEF byte","url":"https://eips.ethereum.org/EIPS/eip-3541","status":"Draft","minimumHardfork":"berlin","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{}}')},function(t){t.exports=JSON.parse('{"name":"EIP-3554","comment":"Reduction in refunds","url":"Difficulty Bomb Delay to December 1st 2021","status":"Draft","minimumHardfork":"muirGlacier","requiredEIPs":[],"gasConfig":{},"gasPrices":{},"vm":{},"pow":{"difficultyBombDelay":{"v":9500000,"d":"the amount of blocks to delay the difficulty bomb with"}}}')},function(t,e,r){"use strict";(function(t){var n,i=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(e,"__esModule",{value:!0});var s=r(26),u=r(104),f=r(43),c=r(202),h=t.from(1..toString(16).padStart(2,"0"),"hex"),l=function(e){function r(t,r){var n,i;void 0===r&&(r={});var a=e.call(this,o(o({},t),{type:1}))||this;a.DEFAULT_HARDFORK="berlin";var u=t.chainId,h=t.accessList,l=t.gasPrice;if(a.common=a._getCommon(r.common,u),a.chainId=a.common.chainIdBN(),!a.common.isActivatedEIP(2930))throw new Error("EIP-2930 not enabled on Common");a.activeCapabilities=a.activeCapabilities.concat([2718,2930]);var d=c.AccessLists.getAccessListData(null!=h?h:[]);if(a.accessList=d.accessList,a.AccessListJSON=d.AccessListJSON,c.AccessLists.verifyAccessList(a.accessList),a.gasPrice=new s.BN(s.toBuffer(""===l?"0x":l)),a._validateCannotExceedMaxInteger({gasPrice:a.gasPrice}),a.v&&!a.v.eqn(0)&&!a.v.eqn(1))throw new Error("The y-parity of the transaction should either be 0 or 1");if(a.common.gteHardfork("homestead")&&(null===(n=a.s)||void 0===n?void 0:n.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");return(null===(i=null==r?void 0:r.freeze)||void 0===i||i)&&Object.freeze(a),a}return i(r,e),Object.defineProperty(r.prototype,"senderR",{get:function(){return this.r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"senderS",{get:function(){return this.s},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"yParity",{get:function(){return this.v},enumerable:!1,configurable:!0}),r.fromTxData=function(t,e){return void 0===e&&(e={}),new r(t,e)},r.fromSerializedTx=function(t,e){if(void 0===e&&(e={}),!t.slice(0,1).equals(h))throw new Error("Invalid serialized tx input: not an EIP-2930 transaction (wrong tx type, expected: 1, received: "+t.slice(0,1).toString("hex"));var n=s.rlp.decode(t.slice(1));if(!Array.isArray(n))throw new Error("Invalid serialized tx input: must be array");return r.fromValuesArray(n,e)},r.fromRlpSerializedTx=function(t,e){return void 0===e&&(e={}),r.fromSerializedTx(t,e)},r.fromValuesArray=function(t,e){if(void 0===e&&(e={}),8!==t.length&&11!==t.length)throw new Error("Invalid EIP-2930 transaction. Only expecting 8 values (for unsigned tx) or 11 values (for signed tx).");var n=a(t,11),i=n[0],o=n[1],u=n[2],f=n[3],c=n[4],h=n[5],l=n[6],d=n[7],p=n[8],m=n[9],b=n[10];return new r({chainId:new s.BN(i),nonce:o,gasPrice:u,gasLimit:f,to:c,value:h,data:l,accessList:null!=d?d:[],v:void 0!==p?new s.BN(p):void 0,r:m,s:b},e)},r.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(c.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},r.prototype.getUpfrontCost=function(){return this.gasLimit.mul(this.gasPrice).add(this.value)},r.prototype.raw=function(){return[s.bnToUnpaddedBuffer(this.chainId),s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.gasPrice),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data,this.accessList,void 0!==this.v?s.bnToUnpaddedBuffer(this.v):t.from([]),void 0!==this.r?s.bnToUnpaddedBuffer(this.r):t.from([]),void 0!==this.s?s.bnToUnpaddedBuffer(this.s):t.from([])]},r.prototype.serialize=function(){var e=this.raw();return t.concat([h,s.rlp.encode(e)])},r.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var r=this.raw().slice(0,8),n=t.concat([h,s.rlp.encode(r)]);return e?s.keccak256(n):n},r.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return s.keccak256(this.serialize())},r.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},r.prototype.getSenderPublicKey=function(){var t;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var e=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(t=this.s)||void 0===t?void 0:t.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this.yParity,n=this.r,i=this.s;try{return s.ecrecover(e,r.addn(27),s.bnToUnpaddedBuffer(n),s.bnToUnpaddedBuffer(i))}catch(t){throw new Error("Invalid Signature")}},r.prototype._processSignature=function(t,e,n){var i={common:this.common};return r.fromTxData({chainId:this.chainId,nonce:this.nonce,gasPrice:this.gasPrice,gasLimit:this.gasLimit,to:this.to,value:this.value,data:this.data,accessList:this.accessList,v:new s.BN(t-27),r:new s.BN(e),s:new s.BN(n)},i)},r.prototype.toJSON=function(){var t=c.AccessLists.getAccessListJSON(this.accessList);return{chainId:s.bnToHex(this.chainId),nonce:s.bnToHex(this.nonce),gasPrice:s.bnToHex(this.gasPrice),gasLimit:s.bnToHex(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:s.bnToHex(this.value),data:"0x"+this.data.toString("hex"),accessList:t,v:void 0!==this.v?s.bnToHex(this.v):void 0,r:void 0!==this.r?s.bnToHex(this.r):void 0,s:void 0!==this.s?s.bnToHex(this.s):void 0}},r}(u.BaseTransaction);e.default=l}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=r(26),i=r(197),o=function(){function e(){}return e.fromTxData=function(t,e){if(void 0===e&&(e={}),"type"in t&&void 0!==t.type){var r=new n.BN(n.toBuffer(t.type)).toNumber();if(0===r)return i.Transaction.fromTxData(t,e);if(1===r)return i.AccessListEIP2930Transaction.fromTxData(t,e);if(2===r)return i.FeeMarketEIP1559Transaction.fromTxData(t,e);throw new Error("Tx instantiation with type "+r+" not supported")}return i.Transaction.fromTxData(t,e)},e.fromSerializedData=function(t,e){if(void 0===e&&(e={}),t[0]<=127){var r=void 0;switch(t[0]){case 1:r=2930;break;case 2:r=1559;break;default:throw new Error("TypedTransaction with ID "+t[0]+" unknown")}return 1559===r?i.FeeMarketEIP1559Transaction.fromSerializedTx(t,e):i.AccessListEIP2930Transaction.fromSerializedTx(t,e)}return i.Transaction.fromSerializedTx(t,e)},e.fromBlockBodyData=function(e,r){if(void 0===r&&(r={}),t.isBuffer(e))return this.fromSerializedData(e,r);if(Array.isArray(e))return i.Transaction.fromValuesArray(e,r);throw new Error("Cannot decode transaction: unknown type input")},e.getTransactionClass=function(t,e){if(void 0===t&&(t=0),0==t||t>=128&&t<=255)return i.Transaction;switch(t){case 1:return i.AccessListEIP2930Transaction;case 2:return i.FeeMarketEIP1559Transaction;default:throw new Error("TypedTransaction with ID "+t+" unknown")}},e}();e.default=o}).call(this,r(1).Buffer)},function(t,e,r){"use strict";(function(t){var n,i=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a};Object.defineProperty(e,"__esModule",{value:!0});var s=r(26),u=r(104),f=r(43),c=r(202),h=t.from(2..toString(16).padStart(2,"0"),"hex"),l=function(e){function r(t,r){var n,i;void 0===r&&(r={});var a=e.call(this,o(o({},t),{type:2}))||this;a.DEFAULT_HARDFORK="london";var u=t.chainId,h=t.accessList,l=t.maxFeePerGas,d=t.maxPriorityFeePerGas;if(a.common=a._getCommon(r.common,u),a.chainId=a.common.chainIdBN(),!a.common.isActivatedEIP(1559))throw new Error("EIP-1559 not enabled on Common");a.activeCapabilities=a.activeCapabilities.concat([1559,2718,2930]);var p=c.AccessLists.getAccessListData(null!=h?h:[]);if(a.accessList=p.accessList,a.AccessListJSON=p.AccessListJSON,c.AccessLists.verifyAccessList(a.accessList),a.maxFeePerGas=new s.BN(s.toBuffer(""===l?"0x":l)),a.maxPriorityFeePerGas=new s.BN(s.toBuffer(""===d?"0x":d)),a._validateCannotExceedMaxInteger({maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas},256),a.maxFeePerGas.lt(a.maxPriorityFeePerGas))throw new Error("maxFeePerGas cannot be less than maxPriorityFeePerGas (The total must be the larger of the two)");if(a.v&&!a.v.eqn(0)&&!a.v.eqn(1))throw new Error("The y-parity of the transaction should either be 0 or 1");if(a.common.gteHardfork("homestead")&&(null===(n=a.s)||void 0===n?void 0:n.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");return(null===(i=null==r?void 0:r.freeze)||void 0===i||i)&&Object.freeze(a),a}return i(r,e),Object.defineProperty(r.prototype,"senderR",{get:function(){return this.r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"senderS",{get:function(){return this.s},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"yParity",{get:function(){return this.v},enumerable:!1,configurable:!0}),r.fromTxData=function(t,e){return void 0===e&&(e={}),new r(t,e)},r.fromSerializedTx=function(t,e){if(void 0===e&&(e={}),!t.slice(0,1).equals(h))throw new Error("Invalid serialized tx input: not an EIP-1559 transaction (wrong tx type, expected: 2, received: "+t.slice(0,1).toString("hex"));var n=s.rlp.decode(t.slice(1));if(!Array.isArray(n))throw new Error("Invalid serialized tx input: must be array");return r.fromValuesArray(n,e)},r.fromRlpSerializedTx=function(t,e){return void 0===e&&(e={}),r.fromSerializedTx(t,e)},r.fromValuesArray=function(t,e){if(void 0===e&&(e={}),9!==t.length&&12!==t.length)throw new Error("Invalid EIP-1559 transaction. Only expecting 9 values (for unsigned tx) or 12 values (for signed tx).");var n=a(t,12),i=n[0],o=n[1],u=n[2],f=n[3],c=n[4],h=n[5],l=n[6],d=n[7],p=n[8],m=n[9],b=n[10],v=n[11];return new r({chainId:new s.BN(i),nonce:o,maxPriorityFeePerGas:u,maxFeePerGas:f,gasLimit:c,to:h,value:l,data:d,accessList:null!=p?p:[],v:void 0!==m?new s.BN(m):void 0,r:b,s:v},e)},r.prototype.getDataFee=function(){var t=e.prototype.getDataFee.call(this);return t.iaddn(c.AccessLists.getDataFeeEIP2930(this.accessList,this.common)),t},r.prototype.getUpfrontCost=function(t){void 0===t&&(t=new s.BN(0));var e=s.BN.min(this.maxPriorityFeePerGas,this.maxFeePerGas.sub(t)).add(t);return this.gasLimit.mul(e).add(this.value)},r.prototype.raw=function(){return[s.bnToUnpaddedBuffer(this.chainId),s.bnToUnpaddedBuffer(this.nonce),s.bnToUnpaddedBuffer(this.maxPriorityFeePerGas),s.bnToUnpaddedBuffer(this.maxFeePerGas),s.bnToUnpaddedBuffer(this.gasLimit),void 0!==this.to?this.to.buf:t.from([]),s.bnToUnpaddedBuffer(this.value),this.data,this.accessList,void 0!==this.v?s.bnToUnpaddedBuffer(this.v):t.from([]),void 0!==this.r?s.bnToUnpaddedBuffer(this.r):t.from([]),void 0!==this.s?s.bnToUnpaddedBuffer(this.s):t.from([])]},r.prototype.serialize=function(){var e=this.raw();return t.concat([h,s.rlp.encode(e)])},r.prototype.getMessageToSign=function(e){void 0===e&&(e=!0);var r=this.raw().slice(0,9),n=t.concat([h,s.rlp.encode(r)]);return e?s.keccak256(n):n},r.prototype.hash=function(){if(!this.isSigned())throw new Error("Cannot call hash method if transaction is not signed");return s.keccak256(this.serialize())},r.prototype.getMessageToVerifySignature=function(){return this.getMessageToSign()},r.prototype.getSenderPublicKey=function(){var t;if(!this.isSigned())throw new Error("Cannot call this method if transaction is not signed");var e=this.getMessageToVerifySignature();if(this.common.gteHardfork("homestead")&&(null===(t=this.s)||void 0===t?void 0:t.gt(f.N_DIV_2)))throw new Error("Invalid Signature: s-values greater than secp256k1n/2 are considered invalid");var r=this.v,n=this.r,i=this.s;try{return s.ecrecover(e,r.addn(27),s.bnToUnpaddedBuffer(n),s.bnToUnpaddedBuffer(i))}catch(t){throw new Error("Invalid Signature")}},r.prototype._processSignature=function(t,e,n){var i={common:this.common};return r.fromTxData({chainId:this.chainId,nonce:this.nonce,maxPriorityFeePerGas:this.maxPriorityFeePerGas,maxFeePerGas:this.maxFeePerGas,gasLimit:this.gasLimit,to:this.to,value:this.value,data:this.data,accessList:this.accessList,v:new s.BN(t-27),r:new s.BN(e),s:new s.BN(n)},i)},r.prototype.toJSON=function(){var t=c.AccessLists.getAccessListJSON(this.accessList);return{chainId:s.bnToHex(this.chainId),nonce:s.bnToHex(this.nonce),maxPriorityFeePerGas:s.bnToHex(this.maxPriorityFeePerGas),maxFeePerGas:s.bnToHex(this.maxFeePerGas),gasLimit:s.bnToHex(this.gasLimit),to:void 0!==this.to?this.to.toString():void 0,value:s.bnToHex(this.value),data:"0x"+this.data.toString("hex"),accessList:t,v:void 0!==this.v?s.bnToHex(this.v):void 0,r:void 0!==this.r?s.bnToHex(this.r):void 0,s:void 0!==this.s?s.bnToHex(this.s):void 0}},r}(u.BaseTransaction);e.default=l}).call(this,r(1).Buffer)},function(t,e,r){"use strict";t.exports=function(t){var e,r=this;return this.net.getId().then((function(t){return e=t,r.getBlock(0)})).then((function(r){var n="private";return"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"===r.hash&&1===e&&(n="main"),"0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303"===r.hash&&2===e&&(n="morden"),"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d"===r.hash&&3===e&&(n="ropsten"),"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177"===r.hash&&4===e&&(n="rinkeby"),"0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a"===r.hash&&5===e&&(n="goerli"),"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9"===r.hash&&42===e&&(n="kovan"),"function"==typeof t&&t(null,n),n})).catch((function(e){if("function"!=typeof t)throw e;t(e)}))}},function(t,e,r){"use strict";var n=r(27),i=r(58).subscriptions,o=r(30),a=r(61),s=function(){var t=this;n.packageInit(this,arguments);var e=this.setRequestManager;this.setRequestManager=function(r){return e(r),t.net.setRequestManager(r),!0};var r=this.setProvider;this.setProvider=function(){r.apply(t,arguments),t.setRequestManager(t._requestManager)},this.net=new a(this),[new i({name:"subscribe",type:"shh",subscriptions:{messages:{params:1}}}),new o({name:"getVersion",call:"shh_version",params:0}),new o({name:"getInfo",call:"shh_info",params:0}),new o({name:"setMaxMessageSize",call:"shh_setMaxMessageSize",params:1}),new o({name:"setMinPoW",call:"shh_setMinPoW",params:1}),new o({name:"markTrustedPeer",call:"shh_markTrustedPeer",params:1}),new o({name:"newKeyPair",call:"shh_newKeyPair",params:0}),new o({name:"addPrivateKey",call:"shh_addPrivateKey",params:1}),new o({name:"deleteKeyPair",call:"shh_deleteKeyPair",params:1}),new o({name:"hasKeyPair",call:"shh_hasKeyPair",params:1}),new o({name:"getPublicKey",call:"shh_getPublicKey",params:1}),new o({name:"getPrivateKey",call:"shh_getPrivateKey",params:1}),new o({name:"newSymKey",call:"shh_newSymKey",params:0}),new o({name:"addSymKey",call:"shh_addSymKey",params:1}),new o({name:"generateSymKeyFromPassword",call:"shh_generateSymKeyFromPassword",params:1}),new o({name:"hasSymKey",call:"shh_hasSymKey",params:1}),new o({name:"getSymKey",call:"shh_getSymKey",params:1}),new o({name:"deleteSymKey",call:"shh_deleteSymKey",params:1}),new o({name:"newMessageFilter",call:"shh_newMessageFilter",params:1}),new o({name:"getFilterMessages",call:"shh_getFilterMessages",params:1}),new o({name:"deleteMessageFilter",call:"shh_deleteMessageFilter",params:1}),new o({name:"post",call:"shh_post",params:1,inputFormatter:[null]}),new o({name:"unsubscribe",call:"shh_unsubscribe",params:1})].forEach((function(e){e.attachToObject(t),e.setRequestManager(t._requestManager)}))};s.prototype.clearSubscriptions=function(){this._requestManager.clearSubscriptions()},n.addProviders(s),t.exports=s},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(489),o=function t(e){this.givenProvider=t.givenProvider,e&&e._requestManager&&(e=e.currentProvider),"undefined"!=typeof document&&(this.pick=i.pick),this.setProvider(e)};o.givenProvider=null,"undefined"!=typeof ethereum&ðereum.bzz&&(o.givenProvider=ethereum.bzz),o.prototype.setProvider=function(t){if(t&&"object"===(0,n.default)(t)&&"string"==typeof t.bzz&&(t=t.bzz),"string"!=typeof t){this.currentProvider=null;var e=new Error("No provider set, please set one using bzz.setProvider().");return this.download=this.upload=this.isAvailable=function(){throw e},!1}return this.currentProvider=t,this.download=i.at(t).download,this.upload=i.at(t).upload,this.isAvailable=i.at(t).isAvailable,!0},t.exports=o},function(t,e,r){"use strict";var n=function(){throw"This swarm.js function isn't available on the browser."},i={readFile:n},o={download:n,safeDownloadArchived:n,directoryTree:n},a={platform:n,arch:n},s={join:n,slice:n},u={spawn:n},f={lookup:n},c=r(490),h=r(203),l=r(503),d=r(505),p=r(506);t.exports=p({fs:i,files:o,os:a,path:s,child_process:u,defaultArchives:{},mimetype:f,request:c,downloadUrl:null,bytes:h,hash:l,pick:d})},function(t,e,r){"use strict";var n=r(491),i=r(494),o=r(101),a=r(495),s=r(496),u=function(){};t.exports=function(t,e,r){if(!t||"string"!=typeof t)throw new TypeError("must specify a URL");"function"==typeof e&&(r=e,e={});if(r&&"function"!=typeof r)throw new TypeError("expected cb to be undefined or a function");r=r||u;var f=(e=e||{}).json?"json":"text",c=(e=o({responseType:f},e)).headers||{},h=(e.method||"GET").toUpperCase(),l=e.query;l&&("string"!=typeof l&&(l=n.stringify(l)),t=i(t,l));"json"===e.responseType&&a(c,"Accept","application/json");e.json&&"GET"!==h&&"HEAD"!==h&&(a(c,"Content-Type","application/json"),e.body=JSON.stringify(e.body));return e.method=h,e.url=t,e.headers=c,delete e.query,delete e.json,s(e,r)}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=r(492),o=r(101),a=r(493);function s(t,e){return e.encode?e.strict?i(t):encodeURIComponent(t):t}function u(t){var e=t.indexOf("?");return-1===e?"":t.slice(e+1)}function f(t,e){var r=function(t){var e;switch(t.arrayFormat){case"index":return function(t,r,n){e=/\[(\d*)\]$/.exec(t),t=t.replace(/\[\d*\]$/,""),e?(void 0===n[t]&&(n[t]={}),n[t][e[1]]=r):n[t]=r};case"bracket":return function(t,r,n){e=/(\[\])$/.exec(t),t=t.replace(/\[\]$/,""),e?void 0!==n[t]?n[t]=[].concat(n[t],r):n[t]=[r]:n[t]=r};default:return function(t,e,r){void 0!==r[t]?r[t]=[].concat(r[t],e):r[t]=e}}}(e=o({arrayFormat:"none"},e)),i=Object.create(null);return"string"!=typeof t?i:(t=t.trim().replace(/^[?#&]/,""))?(t.split("&").forEach((function(t){var e=t.replace(/\+/g," ").split("="),n=e.shift(),o=e.length>0?e.join("="):void 0;o=void 0===o?null:a(o),r(a(n),o,i)})),Object.keys(i).sort().reduce((function(t,e){var r=i[e];return Boolean(r)&&"object"===(0,n.default)(r)&&!Array.isArray(r)?t[e]=function t(e){return Array.isArray(e)?e.sort():"object"===(0,n.default)(e)?t(Object.keys(e)).sort((function(t,e){return Number(t)-Number(e)})).map((function(t){return e[t]})):e}(r):t[e]=r,t}),Object.create(null))):i}e.extract=u,e.parse=f,e.stringify=function(t,e){!1===(e=o({encode:!0,strict:!0,arrayFormat:"none"},e)).sort&&(e.sort=function(){});var r=function(t){switch(t.arrayFormat){case"index":return function(e,r,n){return null===r?[s(e,t),"[",n,"]"].join(""):[s(e,t),"[",s(n,t),"]=",s(r,t)].join("")};case"bracket":return function(e,r){return null===r?s(e,t):[s(e,t),"[]=",s(r,t)].join("")};default:return function(e,r){return null===r?s(e,t):[s(e,t),"=",s(r,t)].join("")}}}(e);return t?Object.keys(t).sort(e.sort).map((function(n){var i=t[n];if(void 0===i)return"";if(null===i)return s(n,e);if(Array.isArray(i)){var o=[];return i.slice().forEach((function(t){void 0!==t&&o.push(r(n,t,o.length))})),o.join("&")}return s(n,e)+"="+s(i,e)})).filter((function(t){return t.length>0})).join("&"):""},e.parseUrl=function(t,e){return{url:t.split("?")[0]||"",query:f(u(t),e)}}},function(t,e,r){"use strict";t.exports=function(t){return encodeURIComponent(t).replace(/[!'()*]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}},function(t,e,r){"use strict";var n=r(0)(r(2)),i=new RegExp("%[a-f0-9]{2}","gi"),o=new RegExp("(%[a-f0-9]{2})+","gi");function a(t,e){try{return decodeURIComponent(t.join(""))}catch(t){}if(1===t.length)return t;e=e||1;var r=t.slice(0,e),n=t.slice(e);return Array.prototype.concat.call([],a(r),a(n))}function s(t){try{return decodeURIComponent(t)}catch(n){for(var e=t.match(i),r=1;r0&&(h=setTimeout((function(){if(!f){f=!0,c.abort("timeout");var t=new Error("XMLHttpRequest timeout");t.code="ETIMEDOUT",i(t)}}),t.timeout)),c.setRequestHeader)for(s in m)m.hasOwnProperty(s)&&c.setRequestHeader(s,m[s]);else if(t.headers&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(t.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in t&&(c.responseType=t.responseType),"beforeSend"in t&&"function"==typeof t.beforeSend&&t.beforeSend(c),c.send(p||null),c}t.exports=u,t.exports.default=u,u.XMLHttpRequest=n.XMLHttpRequest||function(){},u.XDomainRequest="withCredentials"in new u.XMLHttpRequest?u.XMLHttpRequest:n.XDomainRequest,function(t,e){for(var r=0;r>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|s>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(f<<1|c>>>31),r=o^(c<<1|f>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=s^(h<<1|l>>>31),r=u^(l<<1|h>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=f^(d<<1|p>>>31),r=c^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=h^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],b=t[1],W=t[11]<<4|t[10]>>>28,Z=t[10]<<4|t[11]>>>28,P=t[20]<<3|t[21]>>>29,B=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,K=t[41]<<18|t[40]>>>14,U=t[2]<<1|t[3]>>>31,j=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,T=t[33]<<13|t[32]>>>19,R=t[32]<<13|t[33]>>>19,ft=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,N=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,g=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,$=t[35]<<15|t[34]>>>17,I=t[45]<<29|t[44]>>>3,C=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,k=t[37]<<21|t[36]>>>11,Q=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,O=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,M=t[48]<<14|t[49]>>>18,S=t[49]<<14|t[48]>>>18,t[0]=m^~v&g,t[1]=b^~y&w,t[10]=A^~E&P,t[11]=x^~O&B,t[20]=U^~N&F,t[21]=j^~L&D,t[30]=G^~W&J,t[31]=V^~Z&X,t[40]=et^~nt&ot,t[41]=rt^~it&at,t[2]=v^~g&_,t[3]=y^~w&k,t[12]=E^~P&T,t[13]=O^~B&R,t[22]=N^~F&q,t[23]=L^~D&H,t[32]=W^~J&Y,t[33]=Z^~X&$,t[42]=nt^~ot&st,t[43]=it^~at&ut,t[4]=g^~_&M,t[5]=w^~k&S,t[14]=P^~T&I,t[15]=B^~R&C,t[24]=F^~q&z,t[25]=D^~H&K,t[34]=J^~Y&Q,t[35]=X^~$&tt,t[44]=ot^~st&ft,t[45]=at^~ut&ct,t[6]=_^~M&m,t[7]=k^~S&b,t[16]=T^~I&A,t[17]=R^~C&x,t[26]=q^~z&U,t[27]=H^~K&j,t[36]=Y^~Q&G,t[37]=$^~tt&V,t[46]=st^~ft&et,t[47]=ut^~ct&rt,t[8]=M^~m&v,t[9]=S^~b&y,t[18]=I^~A&E,t[19]=C^~x&O,t[28]=z^~U&N,t[29]=K^~j&L,t[38]=Q^~G&W,t[39]=tt^~V&Z,t[48]=ft^~et&nt,t[49]=ct^~rt&it,t[0]^=a[n],t[1]^=a[n+1]},u=function(t){return function(e){var r;if("0x"===e.slice(0,2)){r=[];for(var a=2,u=e.length;a>2]|=e[d]<>2]|=r<>2]|=(192|r>>6)<>2]|=(128|63&r)<=57344?(u[b>>2]|=(224|r>>12)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<=f){for(t.start=b-f,t.block=u[c],b=0;b>2]|=i[3&b],t.lastByteIndex===f)for(u[0]=u[c],b=1;b>4&15]+n[15&p]+n[p>>12&15]+n[p>>8&15]+n[p>>20&15]+n[p>>16&15]+n[p>>28&15]+n[p>>24&15];v%c==0&&(s(l),b=0)}return"0x"+m}(function(t){return{blocks:[],reset:!0,block:0,start:0,blockCount:1600-(t<<1)>>5,outputBlocks:t>>5,s:(e=[0,0,0,0,0,0,0,0,0,0],[].concat(e,e,e,e,e))};var e}(t),r)}};t.exports={keccak256:u(256),keccak512:u(512),keccak256s:u(256),keccak512s:u(512)}},function(t,e,r){"use strict";var n=function(t){return function(){return new Promise((function(e,r){var n,i=function(r){var n={},i=r.target.files.length,o=0;[].map.call(r.target.files,(function(r){var a=new FileReader;a.onload=function(a){var s=new Uint8Array(a.target.result);if("directory"===t){var u=r.webkitRelativePath;n[u.slice(u.indexOf("/")+1)]={type:"text/plain",data:s},++o===i&&e(n)}else if("file"===t){var f=r.webkitRelativePath;e({type:mimetype.lookup(f),data:s})}else e(s)},a.readAsArrayBuffer(r)}))};"directory"===t?((n=document.createElement("input")).addEventListener("change",i),n.type="file",n.webkitdirectory=!0,n.mozdirectory=!0,n.msdirectory=!0,n.odirectory=!0,n.directory=!0):((n=document.createElement("input")).addEventListener("change",i),n.type="file");var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),n.dispatchEvent(o)}))}};t.exports={data:n("data"),file:n("file"),directory:n("directory")}},function(t,e,r){"use strict";t.exports=function(t){var e=t.fs,r=t.files,n=t.os,i=t.path,o=t.child_process,a=t.mimetype,s=t.defaultArchives,u=t.request,f=t.downloadUrl,c=t.bytes,h=t.hash,l=t.pick,d=function(t){return function(e){for(var r={},n=0,i=t.length;n=400?n(new Error("Error ".concat(i.statusCode,"."))):r(new Uint8Array(e))}))}))}},b=function(t){return function(e){return function e(r){return function(n){return function(i){var o=function(t){return void 0===t.path?Promise.resolve():"application/bzz-manifest+json"===t.contentType?e(t.hash)(n+t.path)(i):Promise.resolve((r=n+t.path,function(t){return function(e){return e[r]=t,e}})(function(t){return{type:t.contentType,hash:t.hash}}(t))(i));var r};return m(t)(r).then((function(t){return JSON.parse(j(t)).entries})).then((function(t){return Promise.all(t.map(o))})).then((function(){return i}))}}}(e)("")({})}},v=function(t){return function(e){return b(t)(e).then((function(t){return d(Object.keys(t))(Object.keys(t).map((function(e){return t[e].hash})))}))}},y=function(t){return function(e){return b(t)(e).then((function(e){var r=Object.keys(e),n=r.map((function(t){return e[t].hash})),i=r.map((function(t){return e[t].type})),o=n.map(m(t));return Promise.all(o).then((function(t){return d(r)(function(t){return t.map((function(t,e){return{type:i[e],data:t}}))}(t))}))}))}},g=function(t){return function(e){return function(n){return r.download(p(t)(e))(n)}}},w=function(t){return function(e){return function(r){return v(t)(e).then((function(e){var n=[];for(var o in e)if(o.length>0){var a=i.join(r,o);n.push(g(t)(e[o])(a))}return Promise.all(n).then((function(){return r}))}))}}},_=function(t){return function(e){return new Promise((function(r,n){var i={body:"string"==typeof e?N(e):e,method:"POST"};u("".concat(t,"/bzz-raw:/"),i,(function(t,e){return t?n(t):r(e)}))}))}},k=function(t){return function(e){return function(r){return function(n){return function i(o){var a="/"===r[0]?r:"/"+r,s="".concat(t,"/bzz:/").concat(e).concat(a),f={method:"PUT",headers:{"Content-Type":n.type},body:n.data};return new Promise((function(t,e){u(s,f,(function(r,n){return r?e(r):-1!==n.indexOf("error")?e(n):t(n)}))})).catch((function(t){return o>0&&i(o-1)}))}(3)}}}},M=function(t){return function(e){return A(t)({"":e})}},S=function(t){return function(r){return e.readFile(r).then((function(e){return M(t)({type:a.lookup(r),data:e})}))}},A=function(t){return function(e){return _(t)("{}").then((function(r){return Object.keys(e).reduce((function(r,n){return r.then(function(r){return function(n){return k(t)(n)(r)(e[r])}}(n))}),Promise.resolve(r))}))}},x=function(t){return function(r){return e.readFile(r).then(_(t))}},E=function(t){return function(n){return function(i){return r.directoryTree(i).then((function(t){return Promise.all(t.map((function(t){return e.readFile(t)}))).then((function(e){var r=t.map((function(t){return t.slice(i.length)})),n=t.map((function(t){return a.lookup(t)||"text/plain"}));return d(r)(e.map((function(t,e){return{type:n[e],data:t}})))}))})).then((function(t){return(e=n?{"":t[n]}:{},function(t){var r={};for(var n in e)r[n]=e[n];for(var i in t)r[i]=t[i];return r})(t);var e})).then(A(t))}}},O=function(t){return function(e){if("data"===e.pick)return l.data().then(_(t));if("file"===e.pick)return l.file().then(M(t));if("directory"===e.pick)return l.directory().then(A(t));if(e.path)switch(e.kind){case"data":return x(t)(e.path);case"file":return S(t)(e.path);case"directory":return E(t)(e.defaultFile)(e.path)}else{if(e.length||"string"==typeof e)return _(t)(e);if(e instanceof Object)return A(t)(e)}return Promise.reject(new Error("Bad arguments"))}},P=function(t){return function(e){return function(r){return C(t)(e).then((function(n){return n?r?w(t)(e)(r):y(t)(e):r?g(t)(e)(r):m(t)(e)}))}}},B=function(t,e){var i=n.platform().replace("win32","windows")+"-"+("x64"===n.arch()?"amd64":"386"),o=(e||s)[i],a=f+o.archive+".tar.gz",u=o.archiveMD5,c=o.binaryMD5;return r.safeDownloadArchived(a)(u)(c)(t)},T=function(t){return new Promise((function(e,r){var n=o.spawn,i=function(t){return function(e){return-1!==(""+e).indexOf(t)}},a=t.account,s=t.password,u=t.dataDir,f=t.ensApi,c=t.privateKey,h=0,l=n(t.binPath,["--bzzaccount",a||c,"--datadir",u,"--ens-api",f]),d=function(t){0===h&&i("Passphrase")(t)?setTimeout((function(){h=1,l.stdin.write(s+"\n")}),500):i("Swarm http proxy started")(t)&&(h=2,clearTimeout(p),e(l))};l.stdout.on("data",d),l.stderr.on("data",d);var p=setTimeout((function(){return r(new Error("Couldn't start swarm process."))}),2e4)}))},R=function(t){return new Promise((function(e,r){t.stderr.removeAllListeners("data"),t.stdout.removeAllListeners("data"),t.stdin.removeAllListeners("error"),t.removeAllListeners("error"),t.removeAllListeners("exit"),t.kill("SIGINT");var n=setTimeout((function(){return t.kill("SIGKILL")}),8e3);t.once("close",(function(){clearTimeout(n),e()}))}))},I=function(t){return _(t)("test").then((function(t){return"c9a99c7d326dcc6316f32fe2625b311f6dc49a175e6877681ded93137d3569e7"===t})).catch((function(){return!1}))},C=function(t){return function(e){return m(t)(e).then((function(t){try{return!!JSON.parse(j(t)).entries}catch(t){return!1}}))}},U=function(t){return function(e,r,n,i,o){var a;return void 0!==e&&(a=t(e)),void 0!==r&&(a=t(r)),void 0!==n&&(a=t(n)),void 0!==i&&(a=t(i)),void 0!==o&&(a=t(o)),a}},j=function(t){return c.toString(c.fromUint8Array(t))},N=function(t){return c.toUint8Array(c.fromString(t))},L=function(t){return{download:function(e,r){return P(t)(e)(r)},downloadData:U(m(t)),downloadDataToDisk:U(g(t)),downloadDirectory:U(y(t)),downloadDirectoryToDisk:U(w(t)),downloadEntries:U(b(t)),downloadRoutes:U(v(t)),isAvailable:function(){return I(t)},upload:function(e){return O(t)(e)},uploadData:U(_(t)),uploadFile:U(M(t)),uploadFileFromDisk:U(M(t)),uploadDataFromDisk:U(x(t)),uploadDirectory:U(A(t)),uploadDirectoryFromDisk:U(E(t)),uploadToManifest:U(k(t)),pick:l,hash:h,fromString:N,toString:j}};return{at:L,local:function(t){return function(e){return I("http://localhost:8500").then((function(r){return r?e(L("http://localhost:8500")).then((function(){})):B(t.binPath,t.archives).onData((function(e){return(t.onProgress||function(){})(e.length)})).then((function(){return T(t)})).then((function(t){return e(L("http://localhost:8500")).then((function(){return t}))})).then(R)}))}},download:P,downloadBinary:B,downloadData:m,downloadDataToDisk:g,downloadDirectory:y,downloadDirectoryToDisk:w,downloadEntries:b,downloadRoutes:v,isAvailable:I,startProcess:T,stopProcess:R,upload:O,uploadData:_,uploadDataFromDisk:x,uploadFile:M,uploadFileFromDisk:S,uploadDirectory:A,uploadDirectoryFromDisk:E,uploadToManifest:k,pick:l,hash:h,fromString:N,toString:j}}}])})); //# sourceMappingURL=web3.min.js.map \ No newline at end of file diff --git a/dist/web3.min.js.map b/dist/web3.min.js.map index 73a5fc210cc..4ea5aa31258 100644 --- a/dist/web3.min.js.map +++ b/dist/web3.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/safe-buffer/index.js","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/bn.js/lib/bn.js","webpack:///./packages/web3-core-method/node_modules/inherits/inherits_browser.js","webpack:///./packages/web3-core-helpers/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///../src.ts/index.ts","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///(webpack)/buildin/module.js","webpack:///./packages/web3-utils/lib/index.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/utils.js","webpack:///./node_modules/minimalistic-assert/index.js","webpack:///./node_modules/elliptic/lib/elliptic/utils.js","webpack:///./node_modules/node-libs-browser/node_modules/events/events.js","webpack:///./packages/web3-core-method/node_modules/safe-buffer/index.js","webpack:///../../src.ts/coders/abstract-coder.ts","webpack:///./node_modules/string_decoder/lib/string_decoder.js","webpack:///./packages/web3-core-method/node_modules/bn.js/lib/bn.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/utils.js","webpack:///./node_modules/hash.js/lib/hash/utils.js","webpack:///./node_modules/randombytes/browser.js","webpack:///./node_modules/cipher-base/index.js","webpack:///../src/index.ts","webpack:///./packages/web3-core/lib/index.js","webpack:///./node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./packages/web3-core-method/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./packages/web3-core-method/node_modules/ethereumjs-util/node_modules/bn.js/lib/bn.js","webpack:///./packages/web3-core-method/node_modules/minimalistic-assert/index.js","webpack:///../src/bytes.ts","webpack:///./node_modules/ethereumjs-util/node_modules/bn.js/lib/bn.js","webpack:///./node_modules/assert/assert.js","webpack:///./packages/web3-core-method/node_modules/ethjs-util/lib/index.js","webpack:///./node_modules/stream-browserify/index.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/errors-browser.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./packages/web3-core-method/node_modules/sha.js/hash.js","webpack:///./node_modules/create-hash/browser.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/errors-browser.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/sha.js/hash.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/errors-browser.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/ethjs-util/lib/index.js","webpack:///../src/types.ts","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/readable-stream/readable-browser.js","webpack:///./node_modules/core-util-is/lib/util.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/common.js","webpack:///./node_modules/hash.js/lib/hash/common.js","webpack:///../src.ts/_version.ts","webpack:///./node_modules/varint/index.js","webpack:///./node_modules/buffer-xor/index.js","webpack:///./node_modules/elliptic/lib/elliptic.js","webpack:///./node_modules/asn1.js/lib/asn1/base/buffer.js","webpack:///./node_modules/process-nextick-args/index.js","webpack:///./packages/web3-core-promievent/lib/index.js","webpack:///./packages/web3-core-subscriptions/lib/index.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///../src/helpers.ts","webpack:///./node_modules/hash.js/lib/hash.js","webpack:///./packages/web3-net/lib/index.js","webpack:///./node_modules/crypto-browserify/index.js","webpack:///./node_modules/browserify-aes/aes.js","webpack:///./node_modules/evp_bytestokey/index.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///./node_modules/parse-asn1/index.js","webpack:///./node_modules/eth-lib/lib/hash.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/node-libs-browser/node_modules/stream-http/index.js","webpack:///./node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/util-deprecate/browser.js","webpack:///../xml-http-request-event-target.ts","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/object-assign/index.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/curves.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash.js","webpack:///../src/hash.ts","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///../src.ts/fragments.ts","webpack:///../src.ts/utf8.ts","webpack:///./node_modules/multihashes/src/index.js","webpack:///./node_modules/md5.js/index.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///./node_modules/ripemd160/index.js","webpack:///./node_modules/sha.js/index.js","webpack:///./node_modules/des.js/lib/des/cipher.js","webpack:///./node_modules/browserify-aes/browser.js","webpack:///./node_modules/browserify-aes/modes/index.js","webpack:///./node_modules/brorand/index.js","webpack:///./node_modules/browserify-sign/node_modules/safe-buffer/index.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///./node_modules/browserify-rsa/index.js","webpack:///./node_modules/elliptic/lib/elliptic/curves.js","webpack:///./node_modules/safer-buffer/safer.js","webpack:///./node_modules/asn1.js/lib/asn1/base/node.js","webpack:///./node_modules/asn1.js/lib/asn1/base/reporter.js","webpack:///./node_modules/asn1.js/lib/asn1/constants/der.js","webpack:///../src/baseTransaction.ts","webpack:///./node_modules/node-libs-browser/node_modules/util/util.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/number-to-bn/src/index.js","webpack:///./node_modules/strip-hex-prefix/src/index.js","webpack:///./node_modules/is-hex-prefixed/src/index.js","webpack:///./packages/web3-utils/lib/utils.js","webpack:///./packages/web3-eth-iban/lib/index.js","webpack:///./packages/web3-core-requestmanager/lib/jsonrpc.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/node-libs-browser/node_modules/stream-http/lib/capability.js","webpack:///./node_modules/node-libs-browser/node_modules/stream-http/lib/response.js","webpack:///./node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/node-libs-browser/node_modules/timers-browserify/main.js","webpack:///./node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/https-browserify/index.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///../src/constants.ts","webpack:///../src/account.ts","webpack:///src/secp256k1.ts","webpack:///./packages/web3-core-method/node_modules/secp256k1/elliptic.js","webpack:///./packages/web3-core-method/node_modules/minimalistic-crypto-utils/lib/utils.js","webpack:///./packages/web3-core-method/node_modules/brorand/index.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha/common.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha/256.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha/512.js","webpack:///./packages/web3-core-method/node_modules/is-hex-prefixed/src/index.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./packages/web3-core-method/node_modules/hash-base/index.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/_stream_readable.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/state.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/_stream_writable.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/_stream_transform.js","webpack:///./packages/web3-core-method/node_modules/sha.js/sha256.js","webpack:///./packages/web3-core-method/node_modules/sha.js/sha512.js","webpack:///../src.ts/bignumber.ts","webpack:///./node_modules/hash.js/lib/hash/sha/common.js","webpack:///./node_modules/hash.js/lib/hash/sha/256.js","webpack:///./node_modules/hash.js/lib/hash/sha/512.js","webpack:///./packages/web3-eth-ens/lib/config.js","webpack:///./packages/web3-eth-contract/lib/index.js","webpack:///./packages/web3-eth-abi/lib/index.js","webpack:///../src.ts/abi-coder.ts","webpack:///../../src.ts/coders/array.ts","webpack:///../../src.ts/coders/bytes.ts","webpack:///./node_modules/@babel/runtime/helpers/get.js","webpack:///../src.ts/id.ts","webpack:///./node_modules/eth-ens-namehash/index.js","webpack:///./node_modules/multicodec/src/util.js","webpack:///./node_modules/cids/src/index.js","webpack:///./node_modules/base-x/src/index.js","webpack:///./node_modules/cids/node_modules/multicodec/src/util.js","webpack:///./packages/web3-eth-personal/lib/index.js","webpack:///./node_modules/eth-lib/lib/bytes.js","webpack:///./node_modules/hash-base/index.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/state.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/sha.js/sha256.js","webpack:///./node_modules/sha.js/sha512.js","webpack:///./node_modules/create-hmac/browser.js","webpack:///./node_modules/create-hash/md5.js","webpack:///./node_modules/pbkdf2/browser.js","webpack:///./node_modules/pbkdf2/lib/precondition.js","webpack:///./node_modules/pbkdf2/lib/default-encoding.js","webpack:///./node_modules/pbkdf2/lib/sync-browser.js","webpack:///./node_modules/pbkdf2/lib/to-buffer.js","webpack:///./node_modules/des.js/lib/des/utils.js","webpack:///./node_modules/des.js/lib/des/des.js","webpack:///./node_modules/browserify-aes/modes/ctr.js","webpack:///./node_modules/browserify-aes/incr32.js","webpack:///./node_modules/browserify-aes/authCipher.js","webpack:///./node_modules/browserify-aes/streamCipher.js","webpack:///./node_modules/diffie-hellman/lib/generatePrime.js","webpack:///./node_modules/miller-rabin/lib/mr.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/state.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/minimalistic-crypto-utils/lib/utils.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///./node_modules/browserify-sign/node_modules/bn.js/lib/bn.js","webpack:///./node_modules/asn1.js/lib/asn1.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/der.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/der.js","webpack:///./node_modules/public-encrypt/mgf.js","webpack:///./node_modules/public-encrypt/xor.js","webpack:///./node_modules/public-encrypt/withPublic.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/secp256k1/elliptic.js","webpack:///../src/util.ts","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/bytes.js","webpack:///./packages/web3/lib/index.js","webpack:///./packages/web3-core-requestmanager/lib/index.js","webpack:///./node_modules/node-libs-browser/node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/node-libs-browser/node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///./packages/web3-core-helpers/lib/errors.js","webpack:///./packages/web3-core-helpers/lib/formatters.js","webpack:///./node_modules/ethjs-unit/lib/index.js","webpack:///./node_modules/ethjs-unit/node_modules/bn.js/lib/bn.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/number-to-bn/node_modules/bn.js/lib/bn.js","webpack:///./node_modules/utf8/utf8.js","webpack:///./node_modules/ethereum-bloom-filters/dist/index.js","webpack:///./node_modules/ethereum-bloom-filters/dist/utils.js","webpack:///./node_modules/js-sha3/src/sha3.js","webpack:///./packages/web3-utils/lib/soliditySha3.js","webpack:///./packages/web3-core-requestmanager/lib/batch.js","webpack:///./packages/web3-core-requestmanager/lib/givenProvider.js","webpack:///./packages/web3-providers-ws/lib/index.js","webpack:///./packages/web3-providers-ws/lib/helpers.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/websocket/lib/browser.js","webpack:///./node_modules/es5-ext/global.js","webpack:///./node_modules/websocket/lib/version.js","webpack:///./packages/web3-providers-http/lib/index.js","webpack:///../index.ts","webpack:///../xml-http-request.ts","webpack:///./node_modules/node-libs-browser/node_modules/stream-http/lib/request.js","webpack:///./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/to-arraybuffer/index.js","webpack:///./node_modules/builtin-status-codes/browser.js","webpack:///./node_modules/os-browserify/browser.js","webpack:///../progress-event.ts","webpack:///../errors.ts","webpack:///../xml-http-request-upload.ts","webpack:///./node_modules/cookiejar/cookiejar.js","webpack:///./packages/web3-providers-ipc/lib/index.js","webpack:///./node_modules/oboe/dist/oboe-browser.js","webpack:///./packages/web3-core/lib/extend.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./packages/web3-core-subscriptions/lib/subscription.js","webpack:///./packages/web3-core-method/node_modules/crc-32/crc32.js","webpack:///./packages/web3-core-method/node_modules/secp256k1/lib/index.js","webpack:///./packages/web3-core-method/node_modules/secp256k1/lib/elliptic.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/curve/mont.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha/1.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha/224.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/sha/384.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/ripemd.js","webpack:///./packages/web3-core-method/node_modules/hash.js/lib/hash/hmac.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/ec/index.js","webpack:///./packages/web3-core-method/node_modules/hmac-drbg/lib/hmac-drbg.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/ec/key.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/ec/signature.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/eddsa/index.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/eddsa/key.js","webpack:///./packages/web3-core-method/node_modules/elliptic/lib/elliptic/eddsa/signature.js","webpack:///src/random.ts","webpack:///./packages/web3-core-method/node_modules/randombytes/browser.js","webpack:///./packages/web3-core-method/node_modules/strip-hex-prefix/src/index.js","webpack:///src/keccak.ts","webpack:///src/hash-utils.ts","webpack:///./packages/web3-core-method/node_modules/keccak/js.js","webpack:///./packages/web3-core-method/node_modules/keccak/lib/api/index.js","webpack:///./packages/web3-core-method/node_modules/keccak/lib/api/keccak.js","webpack:///./node_modules/readable-stream/writable-browser.js","webpack:///./node_modules/readable-stream/duplex-browser.js","webpack:///./node_modules/readable-stream/transform.js","webpack:///./node_modules/readable-stream/passthrough.js","webpack:///./packages/web3-core-method/node_modules/keccak/lib/api/shake.js","webpack:///./packages/web3-core-method/node_modules/keccak/lib/keccak.js","webpack:///./packages/web3-core-method/node_modules/keccak/lib/keccak-state-unroll.js","webpack:///./packages/web3-core-method/node_modules/create-hash/browser.js","webpack:///./packages/web3-core-method/node_modules/md5.js/index.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/readable-browser.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///./packages/web3-core-method/node_modules/util-deprecate/browser.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./packages/web3-core-method/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///./packages/web3-core-method/node_modules/ripemd160/index.js","webpack:///./packages/web3-core-method/node_modules/sha.js/index.js","webpack:///./packages/web3-core-method/node_modules/sha.js/sha.js","webpack:///./packages/web3-core-method/node_modules/sha.js/sha1.js","webpack:///./packages/web3-core-method/node_modules/sha.js/sha224.js","webpack:///./packages/web3-core-method/node_modules/sha.js/sha384.js","webpack:///./packages/web3-core-method/node_modules/cipher-base/index.js","webpack:///../src/address.ts","webpack:///../src/signature.ts","webpack:///../src/object.ts","webpack:///../src/externals.ts","webpack:///../../src/chains/index.ts","webpack:///../../src/hardforks/index.ts","webpack:///../../src/eips/index.ts","webpack:///../src.ts/fixednumber.ts","webpack:///./node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js","webpack:///../src.ts/addresses.ts","webpack:///../src.ts/bignumbers.ts","webpack:///../src.ts/hashes.ts","webpack:///../src.ts/strings.ts","webpack:///./node_modules/@ethersproject/signing-key/lib.esm/elliptic.js","webpack:///./node_modules/hash.js/lib/hash/sha.js","webpack:///./node_modules/hash.js/lib/hash/sha/1.js","webpack:///./node_modules/hash.js/lib/hash/sha/224.js","webpack:///./node_modules/hash.js/lib/hash/sha/384.js","webpack:///./node_modules/hash.js/lib/hash/ripemd.js","webpack:///./node_modules/hash.js/lib/hash/hmac.js","webpack:///./packages/web3-eth/lib/index.js","webpack:///./packages/web3-eth-ens/lib/index.js","webpack:///./packages/web3-eth-ens/lib/ENS.js","webpack:///./packages/web3-eth-ens/lib/contracts/Registry.js","webpack:///../../src.ts/coders/address.ts","webpack:///../../src.ts/coders/anonymous.ts","webpack:///../../src.ts/coders/boolean.ts","webpack:///./node_modules/@babel/runtime/helpers/superPropBase.js","webpack:///../../src.ts/coders/fixed-bytes.ts","webpack:///../../src.ts/coders/null.ts","webpack:///../../src.ts/coders/number.ts","webpack:///../../src.ts/coders/string.ts","webpack:///../src.ts/bytes32.ts","webpack:///../src.ts/idna.ts","webpack:///../../src.ts/coders/tuple.ts","webpack:///../src.ts/interface.ts","webpack:///../src.ts/namehash.ts","webpack:///../src.ts/message.ts","webpack:///../src.ts/typed-data.ts","webpack:///./node_modules/eth-ens-namehash/node_modules/js-sha3/src/sha3.js","webpack:///./node_modules/idna-uts46-hx/uts46.js","webpack:///./node_modules/idna-uts46-hx/idna-map.js","webpack:///./packages/web3-eth-ens/lib/resources/ABI/Registry.js","webpack:///./packages/web3-eth-ens/lib/resources/ABI/Resolver.js","webpack:///./packages/web3-eth-ens/lib/lib/ResolverMethodHandler.js","webpack:///./packages/web3-eth-ens/lib/lib/contentHash.js","webpack:///./node_modules/content-hash/src/index.js","webpack:///./node_modules/multicodec/src/index.js","webpack:///./node_modules/varint/encode.js","webpack:///./node_modules/varint/decode.js","webpack:///./node_modules/varint/length.js","webpack:///./node_modules/multicodec/src/int-table.js","webpack:///./node_modules/multicodec/src/varint-table.js","webpack:///./node_modules/multicodec/src/constants.js","webpack:///./node_modules/multicodec/src/print.js","webpack:///./node_modules/content-hash/src/profiles.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/index.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/constants.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/base.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/base16.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/base32.js","webpack:///./node_modules/multihashes/node_modules/multibase/src/base64.js","webpack:///./node_modules/multihashes/src/constants.js","webpack:///./node_modules/multibase/src/index.js","webpack:///./node_modules/multibase/src/constants.js","webpack:///./node_modules/multibase/src/base.js","webpack:///./node_modules/multibase/src/base16.js","webpack:///./node_modules/multibase/src/base32.js","webpack:///./node_modules/multibase/src/base64.js","webpack:///./node_modules/cids/node_modules/multicodec/src/index.js","webpack:///./node_modules/cids/node_modules/multicodec/src/int-table.js","webpack:///./node_modules/cids/node_modules/multicodec/src/varint-table.js","webpack:///./node_modules/cids/node_modules/multicodec/src/constants.js","webpack:///./node_modules/cids/node_modules/multicodec/src/print.js","webpack:///./node_modules/cids/src/cid-util.js","webpack:///./node_modules/class-is/index.js","webpack:///./node_modules/@babel/runtime/helpers/construct.js","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack:///./node_modules/content-hash/src/helpers.js","webpack:///./packages/web3-eth-accounts/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/eth-lib/lib/account.js","webpack:///./node_modules/eth-lib/lib/array.js","webpack:///./node_modules/hash-base/node_modules/safe-buffer/index.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/readable-browser.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///./node_modules/sha.js/sha.js","webpack:///./node_modules/sha.js/sha1.js","webpack:///./node_modules/sha.js/sha224.js","webpack:///./node_modules/sha.js/sha384.js","webpack:///./node_modules/create-hmac/legacy.js","webpack:///./node_modules/browserify-sign/algos.js","webpack:///./node_modules/pbkdf2/lib/async.js","webpack:///./node_modules/browserify-cipher/browser.js","webpack:///./node_modules/browserify-des/index.js","webpack:///./node_modules/des.js/lib/des.js","webpack:///./node_modules/des.js/lib/des/cbc.js","webpack:///./node_modules/des.js/lib/des/ede.js","webpack:///./node_modules/browserify-aes/encrypter.js","webpack:///./node_modules/browserify-aes/modes/ecb.js","webpack:///./node_modules/browserify-aes/modes/cbc.js","webpack:///./node_modules/browserify-aes/modes/cfb.js","webpack:///./node_modules/browserify-aes/modes/cfb8.js","webpack:///./node_modules/browserify-aes/modes/cfb1.js","webpack:///./node_modules/browserify-aes/modes/ofb.js","webpack:///./node_modules/browserify-aes/ghash.js","webpack:///./node_modules/browserify-aes/decrypter.js","webpack:///./node_modules/browserify-des/modes.js","webpack:///./node_modules/diffie-hellman/browser.js","webpack:///./node_modules/diffie-hellman/lib/dh.js","webpack:///./node_modules/browserify-sign/browser/index.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///./node_modules/browserify-sign/browser/sign.js","webpack:///./node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/mont.js","webpack:///./node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack:///./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack:///./node_modules/elliptic/lib/elliptic/ec/index.js","webpack:///./node_modules/hmac-drbg/lib/hmac-drbg.js","webpack:///./node_modules/elliptic/lib/elliptic/ec/key.js","webpack:///./node_modules/elliptic/lib/elliptic/ec/signature.js","webpack:///./node_modules/elliptic/lib/elliptic/eddsa/index.js","webpack:///./node_modules/elliptic/lib/elliptic/eddsa/key.js","webpack:///./node_modules/elliptic/lib/elliptic/eddsa/signature.js","webpack:///./node_modules/parse-asn1/asn1.js","webpack:///./node_modules/asn1.js/lib/asn1/api.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/pem.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack:///./node_modules/asn1.js/lib/asn1/base/index.js","webpack:///./node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///./node_modules/parse-asn1/certificate.js","webpack:///./node_modules/parse-asn1/fixProc.js","webpack:///./node_modules/browserify-sign/browser/verify.js","webpack:///./node_modules/create-ecdh/browser.js","webpack:///./node_modules/public-encrypt/browser.js","webpack:///./node_modules/public-encrypt/publicEncrypt.js","webpack:///./node_modules/public-encrypt/privateDecrypt.js","webpack:///./node_modules/randomfill/browser.js","webpack:///./node_modules/eth-lib/lib/nat.js","webpack:///./node_modules/eth-lib/lib/rlp.js","webpack:///./node_modules/scrypt-js/scrypt.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///../src/legacyTransaction.ts","webpack:///./node_modules/secp256k1/lib/index.js","webpack:///./node_modules/secp256k1/lib/elliptic.js","webpack:///./node_modules/keccak/js.js","webpack:///./node_modules/keccak/lib/api/index.js","webpack:///./node_modules/keccak/lib/api/keccak.js","webpack:///./node_modules/keccak/lib/api/shake.js","webpack:///./node_modules/keccak/lib/keccak.js","webpack:///./node_modules/keccak/lib/keccak-state-unroll.js","webpack:///./node_modules/crc-32/crc32.js","webpack:///../src/eip2930Transaction.ts","webpack:///../src/transactionFactory.ts","webpack:///../src/eip1559Transaction.ts","webpack:///./packages/web3-eth/lib/getNetworkType.js","webpack:///./packages/web3-shh/lib/index.js","webpack:///./packages/web3-bzz/lib/index.js","webpack:///./node_modules/swarm-js/lib/api-browser.js","webpack:///./node_modules/xhr-request/index.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./node_modules/decode-uri-component/index.js","webpack:///./node_modules/url-set-query/index.js","webpack:///./node_modules/xhr-request/lib/ensure-header.js","webpack:///./node_modules/xhr-request/lib/request-browser.js","webpack:///./node_modules/xhr/index.js","webpack:///./node_modules/global/window.js","webpack:///./node_modules/is-function/index.js","webpack:///./node_modules/parse-headers/parse-headers.js","webpack:///./node_modules/xhr-request/lib/normalize-response.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/array.js","webpack:///./node_modules/swarm-js/lib/swarm-hash.js","webpack:///./node_modules/swarm-js/node_modules/eth-lib/lib/hash.js","webpack:///./node_modules/swarm-js/lib/pick.js","webpack:///./node_modules/swarm-js/lib/swarm.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","obj","base64","require","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","length","RangeError","Uint8Array","__proto__","arg","encodingOrOffset","this","Error","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","isBuffer","len","checked","copy","buffer","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","e","typedArraySupport","poolSize","_augment","species","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","_typeof","iterator","constructor","ctor","superCtor","super_","writable","TempCtor","copyProps","SafeBuffer","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","g","Function","instance","Constructor","_defineProperties","props","descriptor","protoProps","staticProps","assert","msg","inherits","BN","number","base","endian","isBN","negative","words","red","_init","wordSize","parseHex4Bits","index","parseHexByte","lowerBound","parseBase","num","left","right","cmp","_initNumber","_initArray","_parseHex","_parseBase","toArray","ceil","w","strip","limbLen","limbPow","total","mod","word","imuln","_iaddn","dest","clone","_expand","_normSign","zeros","groupSizes","groupBases","smallMulTo","self","carry","k","ncarry","rword","maxJ","padding","groupSize","groupBase","isZero","modn","idivn","toNumber","toBuffer","toArrayLike","ArrayType","reqLength","q","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","zeroBits","toTwos","width","abs","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","xor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","add","comb10MulTo","mid","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","jumboMulTo","FFTM","mulp","mulTo","hncarry","bigMulTo","makeRBT","N","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","cos","PI","itwdf","sin","rtwdf_","itwdf_","re","ie","ro","io","rx","guessLen13b","odd","conjugate","normalize13b","ws","round","convert13b","stub","ph","_","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","toBitArray","iushln","bits","carryMask","newCarry","ishln","hint","extended","h","mask","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","shift","_wordDiv","bhi","diff","qj","div","divmod","positive","divn","umod","divRound","dm","half","r2","acc","egcd","A","B","C","D","isEven","yp","xp","im","isOdd","jm","gcd","_invmp","x1","x2","delta","cmpn","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lt","lten","lte","eqn","eq","Red","toRed","ctx","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","sqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","tmp","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","split","imulK","_strip","input","output","outLen","prev","next","mod3","one","nOne","lpow","z","inv","wnd","current","currentLen","mont","u","errors","formatters","_getPrototypeOf","setPrototypeOf","getPrototypeOf","subClass","superClass","assertThisInitialized","webpackPolyfill","deprecate","paths","children","ethjsUnit","utils","soliditySha3","randombytes","_flattenTypes","includeTuple","puts","types","forEach","param","components","substring","suffix","arrayBracket","result","hexToAscii","hex","isHexStrict","asciiToHex","getUnitValue","unit","unitMap","JSON","stringify","_fireError","error","emitter","reject","callback","optionalData","message","catch","_jsonInterfaceMethodToString","json","inputs","randomHex","isBigNumber","isHex","sha3","sha3Raw","keccak256","soliditySha3Raw","encodePacked","isAddress","checkAddressChecksum","toChecksumAddress","address","test","addressHash","checksumAddress","toUpperCase","toBN","bytesToHex","hexToBytes","hexToNumberString","hexToNumber","toDecimal","numberToHex","fromDecimal","hexToUtf8","hexToString","toUtf8","stripHexPrefix","utf8ToHex","stringToHex","fromUtf8","toAscii","fromAscii","toWei","fromWei","padLeft","leftPad","padRight","rightPad","toTwosComplement","isBloom","isUserEthereumAddressInBloom","isContractAddressInBloom","isTopic","isTopicInBloom","isInBloom","compareBlockNumbers","bnA","bnB","minAssert","minUtils","zero2","encode","getNAF","naf","getJSF","k1","k2","jsf","m8","d1","d2","u1","u2","m14","m24","cachedProperty","computer","parseBytes","intFromLE","equal","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","Promise","resolve","errorListener","err","resolver","eventTargetAgnosticAddListener","handler","flags","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","events","existing","warning","newListener","unshift","warned","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","addEventListener","wrapListener","removeEventListener","setMaxListeners","getMaxListeners","doError","er","context","position","originalListener","pop","spliceOne","keys","rawListeners","eventNames","path","StringDecoder","nb","enc","nenc","retried","_normalizeEncoding","normalizeEncoding","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","isSurrogatePair","htonl","zero8","toHex32","join32","split32","rotr32","rotl32","sum32","sum32_3","sum32_4","sum32_5","sum64","ah","al","bh","sum64_hi","bl","sum64_lo","sum64_4_hi","ch","cl","dh","dl","sum64_4_lo","sum64_5_hi","eh","el","sum64_5_lo","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","crypto","msCrypto","getRandomValues","cb","generated","Transform","CipherBase","hashMode","_finalOrDigest","final","_final","__final","_decoder","_encoding","update","inputEnc","outputEnc","outData","_update","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","_transform","_flush","done","fin","__exportStar","requestManager","extend","packageInit","pkg","_provider","setProvider","_requestManager","Manager","givenProvider","providers","provider","net","setRequestManager","manager","BatchRequest","BatchManager","addProviders","pna","objectKeys","Duplex","util","Readable","Writable","v","method","options","readable","allowHalfOpen","onend","_writableState","ended","onEndNT","highWaterMark","_readableState","destroyed","_destroy","promiEvent","Subscriptions","subscriptions","HardForks","Hardfork","EthersTransactionUtils","Method","params","inputFormatter","outputFormatter","transformPayload","extraFormatters","abiCoder","accounts","defaultBlock","defaultAccount","transactionBlockTimeout","transactionConfirmationBlocks","transactionPollingTimeout","defaultCommon","defaultChain","defaultHardfork","handleRevert","createFunction","func","buildCall","attachToObject","getCall","extractCallback","validateArgs","InvalidNumberOfParams","formatInput","_this","map","formatter","formatOutput","toPayload","payload","_confirmTransaction","defer","promiseResolved","canUnsubscribe","timeoutCount","confirmationCount","intervalId","lastBlock","gasProvided","gas","isContractDeployment","to","hasBytecode","_ethereumCalls","inputBlockNumberFormatter","outputBlockFormatter","outputTransactionReceiptFormatter","inputAddressFormatter","inputDefaultBlockNumberFormatter","outputTransactionFormatter","subscriptionName","_ethereumCall","mthd","checkConfirmation","existingReceipt","isPolling","blockHeader","unsubscribe","clearInterval","getTransactionReceipt","eventEmitter","then","receipt","blockHash","receiptFormatter","getBlockByNumber","latestBlock","latestBlockHash","hash","block","blockNumber","contractAddress","NoContractAddressFoundError","getCode","status","contractDeployFormatter","ContractCodeNotStoredError","outOfGas","gasUsed","revertMessage","txReplayOptions","rawTransactionHex","parsedTx","parse","inputTransactionFormatter","gasLimit","toHexString","gasPrice","getRevertReason","TransactionRevertInstructionError","reason","signature","TransactionRevertedWithoutReasonError","TransactionOutOfGasError","TransactionError","startWatching","startInterval","setInterval","subscribe","getWallet","wallet","privateKey","_handleTxType","tx","txType","hasEip1559","maxFeePerGas","maxPriorityFeePerGas","common","hardfork","London","accessList","Berlin","_handleTxPricing","getGasPrice","all","responses","baseFeePerGas","isSendTx","isCall","send","sendTxCallback","reasonData","isRevertReasonString","decodeParameter","RevertInstructionError","sendSignedTx","sign","signedPayload","rawTransaction","sendRequest","chain","signTransaction","txPricing","request","txOptions","format","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","move","_move","for","modrn","allocate","_toArrayLikeLE","_toArrayLikeBE","isNegNum","helpers_1","assertIsBuffer","objectAssign","hasOwn","pSlice","functionsHaveNames","pToString","arrbuf","DataView","ok","regex","getName","isFunction","truncate","something","rawname","fail","expected","operator","stackStartFunction","AssertionError","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","actualIndex","actualVisitedObjects","isPrimitive","aIsArgs","isArguments","bIsArgs","ka","kb","sort","objEquiv","expectedException","isPrototypeOf","_throws","shouldThrow","_tryBlock","userProvidedMessage","isUnexpectedException","isError","generatedMessage","getMessage","captureStackTrace","stack","fn_name","idx","next_line","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","isHexPrefixed","padToEven","intToHex","arrayContainsArray","superset","subset","some","Boolean","intToBuffer","getBinarySize","stringValue","getKeys","allowEmpty","isHexString","Stream","EE","PassThrough","pipe","ondata","chunk","pause","ondrain","resume","_isStdio","onclose","didOnEnd","destroy","onerror","cleanup","codes","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","oneOf","thing","determiner","search","this_len","endsWith","getBuffer","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","_len","accum","assigned","remainder","digest","rem","lowBits","highBits","_hash","MD5","RIPEMD160","sha","alg","punycode","Url","protocol","slashes","auth","host","port","hostname","query","pathname","href","urlParse","relative","resolveObject","isString","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","queryIndex","splitter","uSplit","rest","simplePath","exec","proto","lowerProto","atSign","hostEnd","hec","decodeURIComponent","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","toASCII","ae","esc","encodeURIComponent","escape","qm","charAt","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","objectToString","isBoolean","isNumber","isSymbol","isUndefined","BlockHash","pending","pendingTotal","outSize","hmacStrength","padLength","_delta8","_delta32","_pad","_digest","decode","encodingLength","elliptic","rand","curve","curves","ec","eddsa","Reporter","DecoderBuffer","EncoderBuffer","reporter","item","isEncoderBuffer","isDecoderBuffer","save","restore","isEmpty","skip","raw","_reporterState","fn","PromiEvent","justPromise","promise","Subscription","rm","subscription","BaseCurve","conf","zero","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","precomputed","point","validate","_fixedNafMul","doubles","_getDoubles","I","step","nafW","repr","jpoint","mixedAdd","points","toP","_wnafMul","nafPoints","_getNAFPoints","dblp","_wnafMulAdd","defW","coeffs","jacobianResult","wndWidth","comb","toJ","ja","jb","decodePoint","pointFromX","encodeCompressed","_encode","compact","getX","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","ripemd","hmac","sha1","sha256","sha224","sha384","sha512","ripemd160","core","Net","randomBytes","rng","pseudoRandomBytes","prng","createHash","createHmac","Hmac","algos","algoKeys","hashes","getHashes","pbkdf2","pbkdf2Sync","aes","Cipher","createCipher","Cipheriv","createCipheriv","Decipher","createDecipher","Decipheriv","createDecipheriv","getCiphers","listCiphers","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createSign","Sign","createVerify","Verify","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","createCredentials","constants","asUInt32Array","scrubVec","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t1","t2","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","RCON","G","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_key","_reset","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","decryptBlock","m1","scrub","password","salt","keyBits","ivLen","keyLen","iv","used","keyStart","ivStart","asn1","aesid","fixProc","ciphers","compat","parseKeys","passphrase","subtype","ndata","stripped","tag","certificate","tbsCertificate","subjectPublicKeyInfo","PublicKey","algorithm","RSAPublicKey","subjectPublicKey","subjectPrivateKey","pub_key","DSAparam","decrypt","kde","kdeparams","iters","algo","cipher","cipherText","keylen","EncryptedPrivateKey","PrivateKey","RSAPrivateKey","ECPrivateKey","priv_key","DSAPrivateKey","parameters","HEX_CHARS","KECCAK_PADDING","SHIFT","RC","f","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","b10","b11","b12","b13","b14","b15","b16","b17","b18","b19","b20","b21","b22","b23","b24","b25","b26","b27","b28","b29","b30","b31","b32","b33","b34","b35","b36","b37","b38","b39","b40","b41","b42","b43","b44","b45","b46","b47","b48","b49","keccak","blocks","byteCount","blockCount","outputBlocks","reset","lastByteIndex","Keccak","keccak512","keccak256s","keccak512s","__webpack_amd_options__","has","prefix","Events","event","evt","clearEvent","names","handlers","ee","prefixed","ClientRequest","response","statusCodes","http","opts","defaultProtocol","location","headers","req","IncomingMessage","Agent","defaultMaxSockets","globalAgent","STATUS_CODES","METHODS","CorkedRequest","entry","finish","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","asyncWrite","setImmediate","WritableState","internalUtil","OurUint8Array","realHasInstance","destroyImpl","nop","stream","isDuplex","objectMode","writableObjectMode","hwm","writableHwm","writableHighWaterMark","defaultHwm","finalCalled","needDrain","ending","finished","noDecode","decodeStrings","defaultEncoding","writing","corked","sync","bufferProcessing","onwrite","writecb","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","_write","writev","_writev","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","prefinish","hasInstance","_uint8ArrayToBuffer","writeAfterEnd","valid","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_undestroy","undestroy","config","localStorage","trace","asyncGeneratorStep","gen","_next","_throw","info","propIsEnumerable","propertyIsEnumerable","toObject","assign","test1","test2","test3","letter","shouldUseNative","symbols","pre","PresetCurve","short","edwards","isInfinity","defineCurve","lambda","basis","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","onfinish","writableEnded","readableEnded","endEmitted","onrequest","setHeader","abort","isRequest","node","UnicodeNormalizationForm","Utf8ErrorReason","multibase","varint","cs","multihash","defaultLengths","fromHexString","toB58String","fromB58String","encoded","isValidCode","hashfn","coerceCode","isAppCode","HashBase","ARRAY16","_a","_b","_c","_d","rotl","fnF","fnG","fnH","fnI","_blockOffset","_length","zl","zr","sl","sr","hl","hr","_e","fn1","fn2","fn3","fn4","fn5","ar","br","cr","dr","tl","tr","Algorithm","bufferOff","_updateDecrypt","_updateEncrypt","_buffer","_flushBuffer","inputOff","outputOff","first","_finalEncrypt","_finalDecrypt","_unpad","deciphers","modes","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","Rand","generate","_rand","getBytes","getByte","getr","priv","modulus","prime1","prime2","crt","blinds","blinder","publicExponent","unblinder","blind","blinded","qinv","coefficient","exponent1","m2","exponent2","safer","Safer","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","tags","methods","Node","parent","_baseState","reverseArgs","choice","optional","any","use","useDecoder","explicit","implicit","contains","_wrap","stateProps","cstate","prop","body","filter","child","_useArgs","def","newKey","_decode","wrapResult","prevObj","present","prevKey","enterKey","_peekTag","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","entity","_use","_createEncoderBuffer","_encodeValue","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","ReporterError","rethrow","pathLen","now","inherited","elem","partial","reverse","tagClass","0","1","2","3","tagClassByName","tagByName","BaseTransaction","getOwnPropertyDescriptors","descriptors","getOwnPropertyDescriptor","formatRegExp","objects","noDeprecation","throwDeprecation","traceDeprecation","debugEnviron","debugs","seen","stylize","stylizeNoColor","depth","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","simple","formatPrimitive","visibleKeys","arrayToHash","formatError","RegExp","Date","braces","toUTCString","formatProperty","formatArray","reduce","cur","numLinesEst","reduceToSingleString","desc","line","pad","debuglog","NODE_DEBUG","pid","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","log","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","original","promiseResolve","promiseReject","defineProperties","custom","callbackify","callbackified","maybeCb","rej","multiplier","formattedString","stringArg","dividedToIntegerBy","numberToBN","utf8","ethereumBloomFilters","returnType","SHA3_NULL_S","returnValue","_Hash","bloom","ethereumAddress","topic","chars","hasPrefix","BigNumber","iso13616Prepare","iban","Z","mod9710","Iban","_iban","isIndirect","isDirect","base36","asBn","ib","toAddress","fromAddress","padded","fromBban","bban","countryCode","institution","identifier","isValid","Jsonrpc","messageId","jsonrpc","id","every","validateSingleMessage","messages","freeExports","nodeType","freeModule","freeGlobal","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","parts","ucs2decode","extra","counter","ucs2encode","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","fetch","ReadableStream","writableStream","WritableStream","abortController","AbortController","blobConstructor","Blob","xhr","getXHR","XMLHttpRequest","open","XDomainRequest","checkTypeSupport","responseType","haveArrayBuffer","haveSlice","arraybuffer","msstream","mozchunkedarraybuffer","overrideMimeType","vbArray","VBArray","capability","rStates","readyStates","UNSENT","OPENED","HEADERS_RECEIVED","LOADING","DONE","fetchTimer","_mode","rawHeaders","trailers","rawTrailers","_fetchResponse","statusCode","statusMessage","statusText","header","_destroyed","_resumeFetch","close","pipeTo","reader","getReader","_xhr","_pos","responseURL","getAllResponseHeaders","matches","_charset","mimeType","charsetMatch","_read","_onXHRProgress","readyState","responseBody","responseText","newData","MSStreamReader","onprogress","onload","readAsArrayBuffer","ReadableState","EElistenerCount","debugUtil","debug","BufferList","kProxyEvents","readableObjectMode","readableHwm","readableHighWaterMark","pipes","pipesCount","flowing","reading","needReadable","emittedReadable","readableListening","resumeScheduled","awaitDrain","readingMore","decoder","readableAddChunk","addToFront","skipChunkCheck","emitReadable","onEofChunk","chunkInvalid","addChunk","maybeReadMore","needMoreData","isPaused","setEncoding","howMuchToRead","head","computeNewHighWaterMark","emitReadable_","flow","maybeReadMore_","nReadingNextTick","resume_","fromList","clear","hasStrings","tail","copyFromBufferString","copyFromBuffer","fromListPartial","endReadable","endReadableNT","xs","nOrig","doRead","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","pipeOnDrain","increasedAwaitDrain","dests","ev","wrap","paused","_fromList","emitErrorNT","readableDestroyed","writableDestroyed","scope","Timeout","clearFn","_id","_clearFn","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","afterTransform","ts","_transformState","transforming","writechunk","rs","needTransform","writeencoding","flush","_this2","err2","https","validateParams","arrayLikeToArray","minLen","arr2","ch32","maj32","p32","ft_1","s0_256","s1_256","g0_256","g1_256","shaCommon","sha256_K","SHA256","W","T1","T2","sha512_K","SHA512","ch64_hi","xh","xl","yh","yl","zh","ch64_lo","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_hi","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_hi","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","fh","fl","gh","gl","hh","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","_setPrototypeOf","ReferenceError","_finalized","throwIfNotStringOrBuffer","createReadableStreamAsyncIterator","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","emitClose","autoDestroy","updateReadableListening","consume","wState","asyncIterator","iterable","emitErrorAndCloseNT","emitCloseNT","rState","ERR_INVALID_OPT_VALUE","duplexKey","highWaterMarkFrom","ERR_MULTIPLE_CALLBACK","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","K","Sha256","_w","maj","sigma0","sigma1","gamma0","_f","_g","_h","H","Sha512","Ch","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","writeInt64BE","toBigNumber","other","throwFault","addresses","main","ropsten","rinkeby","goerli","interfaceIds","addr","setAddr","pubkey","setPubkey","contenthash","setContenthash","setContent","abi","Contract","jsonInterface","clearSubscriptions","ContractMissingABIError","lastArg","_getOrSetDefaultOptions","_address","_jsonInterface","funcName","constant","stateMutability","payable","encodeFunctionSignature","_createTxObject","cascadeFunc","nextMethod","encodeEventSignature","_on","allEvents","_ethAccounts","_getCallback","_checkListener","ContractReservedEventError","_encodeEventABI","topics","anonymous","indexedTopics","indexed","encodeParameter","_decodeEventABI","outputLogFormatter","find","intf","indexedInputs","argTopics","returnValues","decodeLog","__length__","_encodeMethodABI","methodSignature","_method","paramsABI","_parent","encodeParameters","_deployData","startsWith","_decodeMethodReturn","outputs","decodeParameters","deploy","ContractMissingDeployDataError","deployData","_generateEventOptions","eventName","ContractEventDoesNotExistError","ContractNoAddressDefinedError","ContractOnceRequiresCallbackError","fromBlock","subOptions","toBlock","inputLogFormatter","subscriptionHandler","removed","getPastEvents","getPastLogs","txObject","_executeMethod","encodeABI","estimateGas","_processExecuteArguments","processedArgs","generateRequest","ethAccounts","inputCallFormatter","ContractNoFromAddressDefinedError","logs","newContract","sendTransaction","EthersAbiCoder","AbiCoder","ParamType","ethersAbiCoder","Result","ABICoder","functionName","mapTypes","formatParam","modifyParams","coder","_getCoder","coders","mappedTypes","isSimplifiedStructFormat","structName","mapStructNameAndType","mapStructToCoderFormat","struct","paramTypeBytes","paramTypeBytesArray","paramTypeNumber","paramTypeNumberArray","maxSize","encodeFunctionCall","decodeParametersWith","loose","decodedValue","notIndexedInputs","indexedParams","topicCount","staticType","nonIndexedData","notIndexedParams","superPropBase","_get","keccak_256","uts46","normalize","toUnicode","useStd3ASCII","transitional","inputName","labels","labelSha","bufferToNumber","numberToBuffer","hexString","varintBufferEncode","varintBufferDecode","varintEncode","mh","multicodec","codecs","CIDUtil","_CID","withIs","codec","multibaseName","isCID","cid","baseName","isEncoded","getCodec","rmPrefix","CID","validateCID","getCodeVarint","toBaseEncodedString","errorMsg","checkCIDComponents","className","symbolName","_Buffer","ALPHABET","BASE_MAP","xc","BASE","LEADER","FACTOR","iFACTOR","decodeUnsafe","psz","zeroes","b256","it3","it4","vch","pbegin","pend","b58","it1","it2","repeat","Personal","inputSignFormatter","at","fromArray","random","rnd","flatten","bs","rev","ascii","makeByte","uint8","ci","fromNumber","fromNat","bn","toNat","fromUint8Array","toUint8Array","Legacy","md5","ZEROS","blocksize","_alg","ipad","_ipad","opad","_opad","MAX_ALLOC","iterations","checkParameters","sizes","rmd160","saltLen","shaFunc","getDigest","ipad1","ipad2","DK","block1","destPos","hLen","T","U","ip","inL","inR","outL","outR","rip","pc1","r28shl","pc2table","pc2","expand","sTable","substitute","permuteTable","padSplit","group","DESState","DES","_desState","deriveKeys","shiftTable","kL","kR","inp","inOff","outOff","_encrypt","_decrypt","lStart","rStart","keyL","keyR","incr32","getBlock","_cipher","_prev","encrypt","chunkNum","_cache","GHASH","StreamCipher","ck","_ghash","_finID","ghash","toPad","ivBits","calcIv","_secCache","_alen","_authTag","_called","rump","xorTest","findPrime","simpleSieve","fermatTest","TWENTYFOUR","millerRabin","ONE","TWO","FIVE","TEN","THREE","ELEVEN","FOUR","_getPrimes","n2","brorand","MillerRabin","_randbelow","min_bytes","_randrange","stop","rone","n1","rn1","getDivisor","bignum","decoders","encoders","der","pem","DEREncoder","tree","DERNode","encodedTag","encodeTag","lenOctets","unused","values","ident","objid","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","_getEncoder","dataBuffer","defaultBuffer","DERDecoder","derDecodeTag","oct","tagStr","derDecodeLen","decodedTag","_skipUntilEnd","possibleEnd","numstr","printstr","identifiers","subident","second","year","mon","day","hour","sec","UTC","_getDecoder","i2ops","seed","paddedMsg","rnds8","rnds","byteToHex","bth","bufferAccessList","Eth","Shh","Bzz","Web3","eth","shh","bzz","RequestManager","Map","WebsocketProvider","HttpProvider","IpcProvider","connect","connected","deprecatedResult","resubscribe","disconnect","_isCleanCloseEvent","_isIpcCloseError","ConnectionCloseError","delete","InvalidProvider","jsonrpcPayload","jsonrpcResultCallback","_jsonrpcResultCallback","callbackRequest","sendAsync","sendBatch","toBatchPayload","results","InvalidResponse","addSubscription","removeSubscription","keepIsSyncing","wasClean","ErrorResponse","isValidResponse","got","InvalidConnection","ConnectionError","ConnectionTimeout","ms","ConnectionNotOpenError","MaxAttemptsReachedOnReconnectingError","PendingRequestsOnReconnectingError","ResolverMethodMissingError","outputBigNumberFormatter","isPredefinedBlockNumber","_txInputFormatter","transactionIndex","nonce","transactionHash","logIndex","shaId","inputPostFormatter","post","ttl","workToProve","priority","toTopic","inputStorageKeysFormatter","outputProofFormatter","proof","balance","cumulativeGasUsed","difficulty","totalDifficulty","transactions","miner","outputPostFormatter","expiry","sent","workProved","outputSyncingFormatter","startingBlock","currentBlock","highestBlock","knownStates","pulledStates","negative1","getValueOfUnit","unitInput","unitValue","numberToString","toPrecision","weiInput","optionsInput","wei","baseLength","fraction","whole","commify","etherInput","ether","comps","parseHex","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","extraBytes","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","byteIndex","checkScalarValue","createByte","encodeCodePoint","symbol","readContinuationByte","continuationByte","decodeSymbol","byte1","byteString","utils_1","bitpos","codePointToInt","addSlice","isByteArray","INPUT_ERROR","WINDOW","JS_SHA3_NO_WINDOW","WEB_WORKER","JS_SHA3_NO_NODE_JS","COMMON_JS","JS_SHA3_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_SHA3_NO_ARRAY_BUFFER","CSHAKE_PADDING","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW","createOutputMethod","outputType","createShakeOutputMethod","outputBits","createCshakeOutputMethod","createKmacOutputMethod","createOutputMethods","createMethod","algorithms","bytepad","Kmac","methodNames","methodName","newMethodName","finalized","notString","encodeString","strs","paddingBytes","finalize","arrayBuffer","Uint32Array","_parseNumber","_solidityPack","arraySize","_elementaryName","typesize","_parseTypeN","_processSolidityEncodePackedArgs","_parseTypeNArray","hexArgs","Batch","requests","execute","ethereum","web3","currentProvider","connection","helpers","Ws","w3cwebsocket","_customTimeout","reconnectOptions","auto","delay","maxAttempts","onTimeout","reconnect","clientConfig","requestOptions","DATA","CLOSE","ERROR","CONNECT","RECONNECT","requestQueue","responseQueue","reconnectAttempts","reconnecting","parsedURL","parseURL","username","authorization","btoa","OPEN","_addSocketListeners","_onMessage","_parseResponse","_onConnect","_onClose","_removeSocketListeners","lastChunk","lastChunkTimeout","CONNECTING","supportsSubscriptions","isNode","isRN","navigator","product","_btoa","URL","newURL","qs","sep","regexp","maxKeys","kstr","vstr","stringifyPrimitive","ks","_globalThis","globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","W3CWebSocket","uri","protocols","naiveFallback","__global__","XHR2","withCredentials","agent","keepAlive","httpsAgent","httpAgent","_prepareRequest","agents","baseUrl","nodejsSet","setRequestHeader","onreadystatechange","ontimeout","toArrayBuffer","preferBinary","_opts","_body","_headers","useFetch","decideMode","_fetchTimer","_onFinish","lowerName","unsafeHeaders","getHeader","removeHeader","headersObj","headersList","keyName","signal","controller","_fetchAbortController","requestTimeout","credentials","_connect","_response","statusValid","flushHeaders","setNoDelay","setSocketKeepAlive","_classCallCheck","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","document","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","createElement","documentElement","script","removeChild","appendChild","attachEvent","task","arrayCopy","endianness","loadavg","uptime","freemem","MAX_VALUE","totalmem","cpus","release","appVersion","networkInterfaces","getNetworkInterfaces","arch","platform","tmpdir","tmpDir","EOL","homedir","ProgressEvent","CookieAccessInfo","domain","secure","Cookie","cookiestr","request_domain","request_path","expiration_date","explicit_path","explicit_domain","noscript","All","freeze","toGMTString","toValueString","cookie_str_splitter","CookieJar","cookies","cookies_list","setCookie","cookie","remove","collidesWith","getCookie","cookie_name","access_info","getCookies","pair","access_domain","cookie_domain","wildcard","setCookies","successful","oboe","responseCallbacks","notificationCallbacks","addDefaultEvents","load","_timeout","_addResponseCallback","__webpack_exports__","partialComplete","compose2","attr","lazyUnion","varArgs","flip","lazyIntersection","always","functor","__WEBPACK_IMPORTED_MODULE_0__lists__","numBoundArgs","callArgs","f1","f2","fns","fnsList","curFn","startParams","maybeValue","numberOfFixedArguments","argsHolder","cons","arrayAsList","listAsArray","foldR","without","applyEach","reverseList","__WEBPACK_IMPORTED_MODULE_0__functional__","inputArray","arraySoFar","listItem","startValue","removedFn","withoutInner","subList","fnList","reverseInner","reversedAlready","isOfType","defined","hasAllProperties","__WEBPACK_IMPORTED_MODULE_1__functional__","maybeSomething","fieldList","field","NODE_OPENED","NODE_CLOSED","NODE_SWAP","NODE_DROP","FAIL_EVENT","ROOT_NODE_FOUND","ROOT_PATH_FOUND","HTTP_START","STREAM_DATA","STREAM_END","ABORTING","SAX_KEY","SAX_VALUE_OPEN","SAX_VALUE_CLOSE","errorReport","_S","jsonBody","thrown","namedNode","keyOf","nodeOf","__WEBPACK_IMPORTED_MODULE_2__util__","__WEBPACK_IMPORTED_MODULE_3__defaults__","__WEBPACK_IMPORTED_MODULE_4__wire__","nodeStreamMethodNames","isStream","cached","drop","incrementalContentBuilder","ROOT_PATH","__WEBPACK_IMPORTED_MODULE_0__events__","__WEBPACK_IMPORTED_MODULE_1__ascent__","__WEBPACK_IMPORTED_MODULE_3__lists__","oboeBus","emitNodeOpened","emitNodeClosed","emitRootOpened","emitRootClosed","appendBuiltContent","ancestorBranches","keyFound","ascent","newDeepestName","maybeNewDeepestNode","ascentWithNewPath","contentBuilderHandlers","newDeepestNode","arrayConsistentAscent","possiblyInconsistentAscent","parentNode","arrayIndicesAreKeys","previouslyUnmappedName","__WEBPACK_IMPORTED_MODULE_0__publicApi__","applyDefaults","__WEBPACK_IMPORTED_MODULE_0__util__","passthrough","httpMethodName","modifiedUrl","wire","__WEBPACK_IMPORTED_MODULE_0__pubSub__","__WEBPACK_IMPORTED_MODULE_1__ascentManager__","__WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__","__WEBPACK_IMPORTED_MODULE_3__patternAdapter__","__WEBPACK_IMPORTED_MODULE_4__jsonPath__","__WEBPACK_IMPORTED_MODULE_5__instanceApi__","__WEBPACK_IMPORTED_MODULE_6__libs_clarinet__","__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__","contentSource","pubSub","__WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__","singles","newSingle","pubSubInstance","singleEventPubSub","__WEBPACK_IMPORTED_MODULE_1__util__","__WEBPACK_IMPORTED_MODULE_2__functional__","eventType","listenerTupleList","listenerList","hasId","tuple","listenerId","un","hasListener","ascentManager","__WEBPACK_IMPORTED_MODULE_0__ascent__","__WEBPACK_IMPORTED_MODULE_1__events__","__WEBPACK_IMPORTED_MODULE_2__lists__","stateAfter","newNode","oldHead","ancestors","patternAdapter","__WEBPACK_IMPORTED_MODULE_1__lists__","__WEBPACK_IMPORTED_MODULE_2__ascent__","jsonPathCompiler","predicateEventMap","addUnderlyingListener","fullEventName","predicateEvent","compiledJsonPath","emitMatch","maybeMatchingMapping","descent","emitMatchingNode","removedEventName","__WEBPACK_IMPORTED_MODULE_3__util__","__WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__","__WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__","pathNodeSyntax","doubleDotSyntax","dotSyntax","bangSyntax","emptySyntax","headKey","headNode","capture","previousExpr","detection","skip1","rootExpr","generateClauseReaderIfTokenFound","tokenDetector","clauseEvaluatorGenerators","jsonPath","parserGeneratedSoFar","onSuccess","detected","compiledParser","exprs","expr","expressionsReader","clauseMatcher","clauseForJsonPath","fieldListStr","hasAllrequiredFields","isMatch","matchesName","terminalCaseWhenArrivingAtRoot","terminalCaseWhenPreviousExpressionIsSatisfied","recursiveCase","cases","lastClause","exprMatch","returnFoundParser","_remainingJsonPath","compileJsonPathToFunction","uncompiledJsonPath","jsonPathSyntax","jsonPathClause","possiblyCapturing","optionalFieldList","jsonPathNamedNodeInObjectNotation","jsonPathNamedNodeInArrayNotation","jsonPathNumberedNodeInArrayNotation","jsonPathPureDuckTyping","jsonPathDoubleDot","jsonPathDot","jsonPathBang","emptyString","componentRegexes","instanceApi","__WEBPACK_IMPORTED_MODULE_3__publicApi__","oboeApi","fullyQualifiedNamePattern","rootNodeFinishedEvent","emitNodeDrop","emitNodeSwap","eventId","addForgettableCallback","wrapCallbackToSwapNodeIfSomethingReturned","safeCallback","protectedCallback","discard","forget","returnValueFromCallback","addSingleNodeOrPathListener","pattern","effectiveCallback","fullyQualifiedPatternMatchEvent","addNodeOrPathListenerApi","jsonPathOrListenerMap","listenerMap","addMultipleNodeOrPathListeners","rootNode","_statusCode","p2","p3","clarinet","eventBus","latestError","textNode","emitSaxKey","emitValueOpen","emitValueClose","emitFail","stringTokenPattern","_n","BEGIN","VALUE","OPEN_OBJECT","CLOSE_OBJECT","OPEN_ARRAY","CLOSE_ARRAY","STRING","OPEN_KEY","CLOSE_KEY","TRUE","TRUE2","TRUE3","FALSE","FALSE2","FALSE3","FALSE4","NULL","NULL2","NULL3","NUMBER_DECIMAL_POINT","bufferCheckPosition","numberNode","slashed","closed","unicodeS","unicodeI","column","emitError","errorString","whitespace","maxActual","starti","STRING_BIGLOOP","reResult","parseFloat","httpTransport","streamingHttp","__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__","__WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__","__WEBPACK_IMPORTED_MODULE_4__functional__","emitStreamData","numberOfCharsAlreadyGivenToCallback","stillToSendStartEvent","handleProgress","textSoFar","newText","sendStartIfNotAlready","headerName","isCrossOrigin","pageLocation","ajaxHost","portOf","parseUrlOrigin","urlHostMatch","parseResponseHeaders","headerStr","headerPair","pckg","ex","extension","extendedObject","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","displayName","isGeneratorFunction","genFun","mark","awrap","async","iter","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","delegateYield","regeneratorRuntime","accidentalStrictMode","_i","_s","identity","_extractCallback","_validateArgs","_formatInput","_formatOutput","_toPayload","subscriptionMethod","err1","blockParams","resultItem","CRC32","table","Int32Array","signed_crc_table","bstr","L","crc32_buf_8","DO_NOT_EXPORT_CRC","cond","isUint8Array","numbers","isCompressed","toTypeString","getAssertedOutput","secp256k1","contextRandomize","privateKeyVerify","seckey","privateKeyNegate","privateKeyTweakAdd","tweak","privateKeyTweakMul","publicKeyVerify","publicKeyCreate","compressed","publicKeyConvert","publicKeyNegate","publicKeyCombine","pubkeys","publicKeyTweakAdd","publicKeyTweakMul","signatureNormalize","sig","signatureExport","outputlen","signatureImport","ecdsaSign","msg32","noncefn","recid","ecdsaVerify","ecdsaRecover","ecdh","xbuf","ybuf","EC","ecparams","loadPublicKey","keyPair","pub","loadCompressedPublicKey","x3","loadUncompressedPublicKey","savePublicKey","negate","tweaked","keyFromPrivate","getPublic","pairs","nh","sigR","sigS","lenR","posR","lenS","posS","_noncefn","canonical","pers","recoveryParam","sigObj","sigr","sigs","verify","recoverPubKey","scalar","ShortCurve","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","Point","isRed","inf","JPoint","zOne","betas","_getEndoRoots","lambdas","vec","_getEndoBasis","ntinv","prevR","aprxSqrt","y1","y2","len1","_endoSplit","v1","v2","p1","q1","q2","ax","rhs","_endoWnafMulAdd","npoints","ncoeffs","fromJSON","endoMul","obj2point","nx","ny","ys1","dyinv","mulAdd","jmulAdd","_precompute","zinv","zinv2","ay","pz2","z2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","yyu4","kbase","z3","pz3","eqXToP","zs","MontCurve","i4","a24","aa","bb","diffAdd","da","jumlAdd","EdwardsCurve","twisted","mOneA","dd","oneC","_mulA","_mulC","lhs","pointFromY","_extDbl","nt","_projDbl","_extAdd","_projAdd","zi","sha1_K","SHA1","SHA224","SHA384","Kh","E","Ah","Bh","Dh","Eh","rh","sh","inner","outer","HmacDRBG","KeyPair","Signature","fromPrivate","keyFromPublic","fromPublic","genKeyPair","drbg","persEnc","entropy","entropyEnc","ns2","_truncateToN","truncOnly","bkey","getPrivate","ns1","kp","kpX","sinv","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Q","Qprime","predResist","minEntropy","_reseed","reseedInterval","V","nonceEnc","_hmac","kmac","reseed","addEnc","temp","_importPrivate","privEnc","_importPublic","pubEnc","derive","_importDER","Position","place","getLength","initial","octetLen","rmPadding","constructLength","octets","slen","toDER","backHalf","EDDSA","pointClass","secret","keyFromSecret","hashInt","Rencoded","encodePoint","s_","pubBytes","S","makeSignature","SG","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","_secret","_pub","_pubBytes","privBytes","getSecret","_R","_Rencoded","_Sencoded","Sencoded","toBytes","createKeccakHash","createKeccak","createShake","KeccakState","Shake","rate","capacity","delimitedSuffix","hashBitLength","_rate","_capacity","_delimitedSuffix","_hashBitLength","_options","_state","initialize","absorb","absorbLastFewBits","squeeze","_resetState","dataByteLength","keccakState","squeezing","p1600","P1600_ROUND_CONSTANTS","lo0","hi0","lo1","hi1","lo2","hi2","lo3","hi3","lo4","hi4","t1slo0","t1shi0","t1slo5","t1shi5","t1slo10","t1shi10","t1slo15","t1shi15","t1slo20","t1shi20","t1slo1","t1shi1","t1slo6","t1shi6","t1slo11","t1shi11","t1slo16","t1shi16","t1slo21","t1shi21","t1slo2","t1shi2","t1slo7","t1shi7","t1slo12","t1shi12","t1slo17","t1shi17","t1slo22","t1shi22","t1slo3","t1shi3","t1slo8","t1shi8","t1slo13","t1shi13","t1slo18","t1shi18","t1slo23","t1shi23","t1slo4","t1shi4","t1slo9","t1shi9","t1slo14","t1shi14","t1slo19","t1shi19","t1slo24","t1shi24","t2slo0","t2shi0","t2slo16","t2shi16","t2slo7","t2shi7","t2slo23","t2shi23","t2slo14","t2shi14","t2slo10","t2shi10","t2slo1","t2shi1","t2slo17","t2shi17","t2slo8","t2shi8","t2slo24","t2shi24","t2slo20","t2shi20","t2slo11","t2shi11","t2slo2","t2shi2","t2slo18","t2shi18","t2slo9","t2shi9","t2slo5","t2shi5","t2slo21","t2shi21","t2slo12","t2shi12","t2slo3","t2shi3","t2slo19","t2shi19","t2slo15","t2shi15","t2slo6","t2shi6","t2slo22","t2shi22","t2slo13","t2shi13","t2slo4","t2shi4","pipeline","enumerableOnly","sym","_defineProperty","_getString","_getBuffer","_objectSpread","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_Object$create","ERR_MISSING_ARGS","destroyer","popCallback","streams","destroys","Sha","rotl30","ft","Sha1","rotl5","Sha224","Sha384","Address","decimals","createCommonjsModule","basedir","commonjsRequire","minimalisticAssert","utils_1$1","assert$1","inherits_browser","assert$2","short_1","curve_1","curves_1","crash","hmacDrbg","assert$3","assert$4","assert$5","signature$1","EC$1","ENS","BaseContract","Accounts","getNetworkType","blockCall","transactionFromBlockCall","uncleCall","getBlockTransactionCountCall","uncleCountCall","personal","ens","_detectedAddress","_lastSyncCheck","maxListenersWarningThreshold","removeSubscriptionById","_isSyncing","_isSyncingTimeout","Registry","ResolverMethodHandler","registryAddress","registry","supportsInterface","interfaceId","getResolver","setResolver","txConfig","setRecord","owner","setSubnodeRecord","label","setApprovalForAll","approved","isApprovedForAll","recordExists","setSubnodeOwner","getTTL","setTTL","getOwner","setOwner","getAddress","resolverMethodHandler","setAddress","getPubkey","getContent","getContenthash","getMultihash","setMultihash","checkNetwork","headAge","networkType","namehash","REGISTRY_ABI","RESOLVER_ABI","contract","defineReadOnly","toUtf8Bytes","domainFieldNames","logger","throwArgumentError","arrayify","boundsUpper","MaxUint256","signed","boundsLower","One","NegativeOne","idna_map","mapLabel","mapped","ucs2","cp","composite","mapChar","kind","mapStr","validateLabel","codePointAt","verifyDnsLength","asciiLabels","asciiString","blockIdxes","Uint16Array","ensName","methodArguments","preparedArguments","prepareArguments","checkInterfaceSupport","handleCall","sendOptions","handleSend","confirmationNumber","supported","contentHash","decoded","protocolType","contentType","matched","fromIpfs","fromSwarm","multiC","hexStringToBuffer","profiles","cidV0ToV1Base32","profile","ipfsHash","swarmHash","encodedValue","addPrefix","intTable","codecNameToCodeVarint","multicodecStrOrCode","prefixedData","codecName","getNumber","getVarint","print","oldOffset","INT","N1","N2","N3","N4","N5","N6","N7","N8","N9","baseTable","nameTable","encodingName","varintTable","entries","tableByCode","multiH","encodes","swarm","ipfs","decodes","hexMultiHash","b58MultiHash","nameOrCode","getBase","codeBuf","validEncode","isImplemented","bufOrString","baseX","base16","base32","tupple","implementation","alphabet","engine","stringOrBuffer","char","view","errNotSupported","Class","ClassIsWrapper","withoutNew","isNativeReflectConstruct","_construct","Parent","construct","sham","Proxy","valueOf","toV1","Account","cryp","scrypt","uuid","TransactionFactory","Common","default","isNot","Wallet","_accounts","defaultKeyName","_addAccountFunctions","account","privateKeyToAccount","ignoreLength","transactionOptions","hasTxSigningOptions","chainId","_validateTransactionForSigning","transaction","forCustomChain","baseChain","customChain","networkId","signedTx","fromTxData","validationErrors","validationError","serialize","messageHash","getMessageToSign","getChainId","getTransactionCount","getNetworkId","recoverTransaction","rawTx","fromSerializedData","getSenderAddress","hashMessage","messageHex","messageBytes","messageBuffer","preamble","preambleBuffer","ethMessage","vrs","decodeSignature","recover","preFixed","encodeSignature","v3Keystore","nonStrict","derivedKey","kdfparams","kdf","syncScrypt","dklen","prf","ciphertext","mac","decipher","cipherparams","v4","_findSafeIndex","pointer","_currentIndexes","numberOfAccounts","addressOrIndex","encryptedWallet","keystore","setItem","getItem","storage","removeItem","storageAvailable","arrayWithoutHoles","iterableToArray","nonIterableSpread","Bytes","Nat","toChecksum","publicKey","publicHash","makeSigner","addToV","innerHex","middleHex","outerHex","vals","replicate","J","chunksOf","ZERO_BUF","subtle","toBrowser","checks","getNextTick","queueMicrotask","browserPbkdf2","importKey","deriveBits","resolvePromise","prom","checkNative","resp","aesModes","desModes","ebtk","suite","des","instantiate","EDE","modeName","_des","des3","CBCState","_cbcInit","_cbcState","superProto","EDEState","k3","_edeState","MODES","AuthCipher","Splitter","_autopadding","PADDING","cache","setTo","padBuff","encryptStart","encryptByte","byteParam","shiftIn","ZEROES","_multiply","lsbVi","Vi","Zi","abl","_last","unpad","autoPadding","generatePrime","DH","ENCODINGS","genc","SEVEN","setPublicKey","setPrivateKey","_priv","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","formatReturnValue","checkPrime","__gen","generateKeys","_gen","getPublicKey","computeSecret","getPrime","front","getPrivateKey","getGenerator","_hashType","_tag","_signType","getKey","hlen","hbits","bits2int","bits2octets","obits","makeKey","kv","makeR","hashType","signType","curveId","ecSign","dsaSign","seq","int","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","EncryptedPrivateKeyInfo","ECParameters","namedCurve","Entity","_createNamed","Generated","_initNamed","PEMEncoder","PEMDecoder","lines","_reverse","asn","Time","utcTime","utctime","generalTime","gentime","AttributeTypeValue","SubjectPublicKeyInfo","RelativeDistinguishedName","setof","RDNSequence","seqof","Name","rdnSequence","Validity","Extension","bool","TBSCertificate","X509Certificate","findProc","startRegex","fullRegex","evp","okey","decrypted","cipherKey","match2","checkValue","ecVerify","unpacked","montp","dsaVerify","padNum","ECDH","aliases","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","inenc","mgf","withPublic","iHash","hLen2","ps","dblen","maskedDb","maskedSeed","oaep","nonZero","pkcs1","zBuffer","db","dif","oldBrowser","safeBuffer","kBufferMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","uint","bin","toEther","fromEther","toUint256","dataTree","parseTree","parseList","parseLength","lim","h0","h1","h4","h5","h6","h7","bytesLeft","bitLenHi","bitLenLo","numZeros","PBKDF2_HMAC_SHA256_OneIter","dkLen","innerLen","outerKey","dk","incrementCounter","blockmix_salsa8","BY","Yi","_X","arraycopy","blockxor","salsa20_8","Si","srcPos","checkBufferish","ensureInteger","_scrypt","i1","Bi","XY","totalOps","currentOp","lastPercent10","i0","incrementalSMix","steps","percent10","lib","progressCallback","lastProgress","progress","_nodeId","_clockseq","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","nsecs","dt","tmh","ii","AccessListEIP2930Transaction","getId","givenId","genesis","pick","noProviderError","download","upload","isAvailable","unavailable","fs","readFile","files","safeDownloadArchived","directoryTree","os","child_process","spawn","mimetype","defaultArchives","downloadUrl","queryString","setQuery","ensureHeader","opt","defaultResponse","strictUriEncode","decodeComponent","extract","queryStart","arrayFormat","accumulator","parserForArrayFormat","keysSorter","encoderForArrayFormat","val2","parseUrl","singleMatcher","multiMatcher","decodeComponents","tokens","encodedURI","replaceMap","customDecodeURIComponent","lower","useJson","rawRequest","onabort","parseHeaders","xtend","initParams","createXHR","_createXHR","getBody","responseXML","firefoxBugTakenEffect","nodeName","getXml","isJson","errorFunc","timeoutTimer","failureResponse","loadFunc","aborted","useXDR","cors","beforeSend","forEachArray","win","alert","confirm","prompt","headersArr","row","swarmHashBlock","lengthEncoded","innerNodes","picker","fileInput","fileLoader","directory","totalFiles","loadedFiles","file","FileReader","webkitRelativePath","_path","webkitdirectory","mozdirectory","msdirectory","odirectory","mouseEvent","createEvent","initEvent","dispatchEvent","_ref","toMap","rawUrl","swarmUrl","downloadData","downloadEntries","routes","downloadEntry","impureInsert","downloadRoutes","route","downloadDirectory","hashs","datas","downloadDataToDisk","filePath","downloadDirectoryToDisk","dirPath","routingTable","downloads","uploadData","uploadToManifest","attempt","slashRoute","uploadFile","uploadDirectory","uploadFileFromDisk","uploadRoute","uploadDataFromDisk","uploadDirectoryFromDisk","defaultPath","fullPaths","_upload","defaultFile","_download","isDirectory","isDir","downloadBinary","archives","system","archive","archiveUrl","archiveMD5","binaryMD5","startProcess","swarmSetup","hasString","dataDir","ensApi","swarmProcess","binPath","handleProcessOutput","stdin","stopProcess","kill","killTimeout","_isAvailable","uncurry","uint8Array","local","useAPI","onData","onProgress"],"mappings":"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CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINloB,IAAK,CACH1G,IAAK,EACL4uB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,wE,8CCrwBJhlC,EAAKnS,EAAQ,IACb0pH,EAAW1pH,EAAQ,KACnBypB,EAAQzpB,EAAQ,IAChBi0C,EAASj0C,EAAQ,IACjB+zC,EAAO/zC,EAAQ,KACfgS,EAASyX,EAAMzX,OAEf23G,EAAU3pH,EAAQ,KAClB4pH,EAAY5pH,EAAQ,KAExB,SAASggH,EAAG9kF,GACV,KAAMp6B,gBAAgBk/G,GACpB,OAAO,IAAIA,EAAG9kF,GAGO,iBAAZA,IACTlpB,EAAOxT,OAAOkB,UAAUC,eAAe1B,KAAKg2C,EA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AC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,EAAE,IACvH,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,QAAQ,UAC7H,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,WACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,UACzI,IAAIA,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAA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AI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IA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d,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,cAAe,GACf,aAAe,GACf,IAAe,IACf,IAAe,IACf,YAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,YAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,aAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,KACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,QAGpB5lG,EAAQquC,MAAQntC,OAAO0kG,OAAO,CAC5B3pC,EAAK,WAGL,GAAM,OACN,GAAM,WACN,GAAM,WACN,GAAM,eACN,GAAM,WACN,GAAM,WACN,GAAM,WACN,GAAM,WACN,GAAM,YACN,GAAM,YACN,GAAM,aACN,GAAM,aACN,GAAM,aACN,GAAM,aAEN,GAAM,cACN,GAAM,aAEN,IAAM,MACN,IAAM,MAGN,MAAQ,YACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,YACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,aACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cAGR,MAAQ,aACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,aACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,cACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,cACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,eACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,KAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,gBACR,MAAQ,iBACR,MAAQ,iBACR,MAAQ,iBACR,MAAQ,mBAGVj8D,EAAQ4xD,eAAiB1wD,OAAO0kG,OAAO,CACrC,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GACN,GAAM,GAEN,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,EACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,MAAQ,GAC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,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINloB,IAAK,CACH1G,IAAK,EACL4uB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,wE,8CCrwBJhlC,EAAKnS,EAAQ,GACb0pH,EAAW1pH,EAAQ,KACnBypB,EAAQzpB,EAAQ,IAChBi0C,EAASj0C,EAAQ,KACjB+zC,EAAO/zC,EAAQ,KACfgS,EAASyX,EAAMzX,OAEf23G,EAAU3pH,EAAQ,KAClB4pH,EAAY5pH,EAAQ,KAExB,SAASggH,EAAG9kF,GACV,KAAMp6B,gBAAgBk/G,GACpB,OAAO,IAAIA,EAAG9kF,GAGO,iBAAZA,IACTlpB,EAAOxT,OAAOkB,UAAUC,eAAe1B,KAAKg2C,EAAQ/Y,GAClD,iBAAmBA,GAErBA,EAAU+Y,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","file":"web3.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Web3\"] = factory();\n\telse\n\t\troot[\"Web3\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 245);\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar errors = require('./errors');\nvar formatters = require('./formatters');\nmodule.exports = {\n errors: errors,\n formatters: formatters\n};\n","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\nimport { id } from \"./id\";\nimport { isValidName, namehash } from \"./namehash\";\nimport { hashMessage, messagePrefix } from \"./message\";\nimport { TypedDataEncoder as _TypedDataEncoder } from \"./typed-data\";\nexport { id, namehash, isValidName, messagePrefix, hashMessage, _TypedDataEncoder, };\n//# sourceMappingURL=index.js.map","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file utils.js\n * @author Marek Kotewicz \n * @author Fabian Vogelsteller \n * @date 2017\n */\nvar ethjsUnit = require('ethjs-unit');\nvar utils = require('./utils.js');\nvar soliditySha3 = require('./soliditySha3.js');\nvar randombytes = require('randombytes');\nvar BN = require('bn.js');\n/**\n * Fires an error in an event emitter and callback and returns the eventemitter\n *\n * @method _fireError\n * @param {Object} error a string, a error, or an object with {message, data}\n * @param {Object} emitter\n * @param {Function} reject\n * @param {Function} callback\n * @param {any} optionalData\n * @return {Object} the emitter\n */\nvar _fireError = function (error, emitter, reject, callback, optionalData) {\n /*jshint maxcomplexity: 10 */\n // add data if given\n if (!!error && typeof error === 'object' && !(error instanceof Error) && error.data) {\n if (!!error.data && typeof error.data === 'object' || Array.isArray(error.data)) {\n error.data = JSON.stringify(error.data, null, 2);\n }\n error = error.message + \"\\n\" + error.data;\n }\n if (typeof error === 'string') {\n error = new Error(error);\n }\n if (typeof callback === 'function') {\n callback(error, optionalData);\n }\n if (typeof reject === 'function') {\n // suppress uncatched error if an error listener is present\n // OR suppress uncatched error if an callback listener is present\n if (emitter &&\n (typeof emitter.listeners === 'function' &&\n emitter.listeners('error').length) || typeof callback === 'function') {\n emitter.catch(function () { });\n }\n // reject later, to be able to return emitter\n setTimeout(function () {\n reject(error);\n }, 1);\n }\n if (emitter && typeof emitter.emit === 'function') {\n // emit later, to be able to return emitter\n setTimeout(function () {\n emitter.emit('error', error, optionalData);\n emitter.removeAllListeners();\n }, 1);\n }\n return emitter;\n};\n/**\n * Should be used to create full function/event name from json abi\n *\n * @method _jsonInterfaceMethodToString\n * @param {Object} json\n * @return {String} full function/event name\n */\nvar _jsonInterfaceMethodToString = function (json) {\n if (!!json && typeof json === 'object' && json.name && json.name.indexOf('(') !== -1) {\n return json.name;\n }\n return json.name + '(' + _flattenTypes(false, json.inputs).join(',') + ')';\n};\n/**\n * Should be used to flatten json abi inputs/outputs into an array of type-representing-strings\n *\n * @method _flattenTypes\n * @param {bool} includeTuple\n * @param {Object} puts\n * @return {Array} parameters as strings\n */\nvar _flattenTypes = function (includeTuple, puts) {\n // console.log(\"entered _flattenTypes. inputs/outputs: \" + puts)\n var types = [];\n puts.forEach(function (param) {\n if (typeof param.components === 'object') {\n if (param.type.substring(0, 5) !== 'tuple') {\n throw new Error('components found but type is not tuple; report on GitHub');\n }\n var suffix = '';\n var arrayBracket = param.type.indexOf('[');\n if (arrayBracket >= 0) {\n suffix = param.type.substring(arrayBracket);\n }\n var result = _flattenTypes(includeTuple, param.components);\n // console.log(\"result should have things: \" + result)\n if (Array.isArray(result) && includeTuple) {\n // console.log(\"include tuple word, and its an array. joining...: \" + result.types)\n types.push('tuple(' + result.join(',') + ')' + suffix);\n }\n else if (!includeTuple) {\n // console.log(\"don't include tuple, but its an array. joining...: \" + result)\n types.push('(' + result.join(',') + ')' + suffix);\n }\n else {\n // console.log(\"its a single type within a tuple: \" + result.types)\n types.push('(' + result + ')');\n }\n }\n else {\n // console.log(\"its a type and not directly in a tuple: \" + param.type)\n types.push(param.type);\n }\n });\n return types;\n};\n/**\n * Returns a random hex string by the given bytes size\n *\n * @param {Number} size\n * @returns {string}\n */\nvar randomHex = function (size) {\n return '0x' + randombytes(size).toString('hex');\n};\n/**\n * Should be called to get ascii from it's hex representation\n *\n * @method hexToAscii\n * @param {String} hex\n * @returns {String} ascii string representation of hex value\n */\nvar hexToAscii = function (hex) {\n if (!utils.isHexStrict(hex))\n throw new Error('The parameter must be a valid HEX string.');\n var str = \"\";\n var i = 0, l = hex.length;\n if (hex.substring(0, 2) === '0x') {\n i = 2;\n }\n for (; i < l; i += 2) {\n var code = parseInt(hex.substr(i, 2), 16);\n str += String.fromCharCode(code);\n }\n return str;\n};\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @method asciiToHex\n * @param {String} str\n * @returns {String} hex representation of input string\n */\nvar asciiToHex = function (str) {\n if (!str)\n return \"0x00\";\n var hex = \"\";\n for (var i = 0; i < str.length; i++) {\n var code = str.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? '0' + n : n;\n }\n return \"0x\" + hex;\n};\n/**\n * Returns value of unit in Wei\n *\n * @method getUnitValue\n * @param {String} unit the unit to convert to, default ether\n * @returns {BN} value of the unit (in Wei)\n * @throws error if the unit is not correct:w\n */\nvar getUnitValue = function (unit) {\n unit = unit ? unit.toLowerCase() : 'ether';\n if (!ethjsUnit.unitMap[unit]) {\n throw new Error('This unit \"' + unit + '\" doesn\\'t exist, please use the one of the following units' + JSON.stringify(ethjsUnit.unitMap, null, 2));\n }\n return unit;\n};\n/**\n * Takes a number of wei and converts it to any other ether unit.\n *\n * Possible units are:\n * SI Short SI Full Effigy Other\n * - kwei femtoether babbage\n * - mwei picoether lovelace\n * - gwei nanoether shannon nano\n * - -- microether szabo micro\n * - -- milliether finney milli\n * - ether -- --\n * - kether -- grand\n * - mether\n * - gether\n * - tether\n *\n * @method fromWei\n * @param {Number|String} number can be a number, number string or a HEX of a decimal\n * @param {String} unit the unit to convert to, default ether\n * @return {String|Object} When given a BN object it returns one as well, otherwise a number\n */\nvar fromWei = function (number, unit) {\n unit = getUnitValue(unit);\n if (!utils.isBN(number) && !(typeof number === 'string')) {\n throw new Error('Please pass numbers as strings or BN objects to avoid precision errors.');\n }\n return utils.isBN(number) ? ethjsUnit.fromWei(number, unit) : ethjsUnit.fromWei(number, unit).toString(10);\n};\n/**\n * Takes a number of a unit and converts it to wei.\n *\n * Possible units are:\n * SI Short SI Full Effigy Other\n * - kwei femtoether babbage\n * - mwei picoether lovelace\n * - gwei nanoether shannon nano\n * - -- microether szabo micro\n * - -- microether szabo micro\n * - -- milliether finney milli\n * - ether -- --\n * - kether -- grand\n * - mether\n * - gether\n * - tether\n *\n * @method toWei\n * @param {Number|String|BN} number can be a number, number string or a HEX of a decimal\n * @param {String} unit the unit to convert from, default ether\n * @return {String|Object} When given a BN object it returns one as well, otherwise a number\n */\nvar toWei = function (number, unit) {\n unit = getUnitValue(unit);\n if (!utils.isBN(number) && !(typeof number === 'string')) {\n throw new Error('Please pass numbers as strings or BN objects to avoid precision errors.');\n }\n return utils.isBN(number) ? ethjsUnit.toWei(number, unit) : ethjsUnit.toWei(number, unit).toString(10);\n};\n/**\n * Converts to a checksum address\n *\n * @method toChecksumAddress\n * @param {String} address the given HEX address\n * @return {String}\n */\nvar toChecksumAddress = function (address) {\n if (typeof address === 'undefined')\n return '';\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address))\n throw new Error('Given address \"' + address + '\" is not a valid Ethereum address.');\n address = address.toLowerCase().replace(/^0x/i, '');\n var addressHash = utils.sha3(address).replace(/^0x/i, '');\n var checksumAddress = '0x';\n for (var i = 0; i < address.length; i++) {\n // If ith character is 8 to f then make it uppercase\n if (parseInt(addressHash[i], 16) > 7) {\n checksumAddress += address[i].toUpperCase();\n }\n else {\n checksumAddress += address[i];\n }\n }\n return checksumAddress;\n};\n/**\n * Returns -1 if ab; 0 if a == b.\n * For more details on this type of function, see\n * developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n *\n * @method compareBlockNumbers\n *\n * @param {String|Number|BN} a\n *\n * @param {String|Number|BN} b\n *\n * @returns {Number} -1, 0, or 1\n */\nvar compareBlockNumbers = function (a, b) {\n if (a == b) {\n return 0;\n }\n else if ((\"genesis\" == a || \"earliest\" == a || 0 == a) && (\"genesis\" == b || \"earliest\" == b || 0 == b)) {\n return 0;\n }\n else if (\"genesis\" == a || \"earliest\" == a) {\n // b !== a, thus a < b\n return -1;\n }\n else if (\"genesis\" == b || \"earliest\" == b) {\n // b !== a, thus a > b\n return 1;\n }\n else if (a == \"latest\") {\n if (b == \"pending\") {\n return -1;\n }\n else {\n // b !== (\"pending\" OR \"latest\"), thus a > b\n return 1;\n }\n }\n else if (b === \"latest\") {\n if (a == \"pending\") {\n return 1;\n }\n else {\n // b !== (\"pending\" OR \"latest\"), thus a > b\n return -1;\n }\n }\n else if (a == \"pending\") {\n // b (== OR <) \"latest\", thus a > b\n return 1;\n }\n else if (b == \"pending\") {\n return -1;\n }\n else {\n let bnA = new BN(a);\n let bnB = new BN(b);\n if (bnA.lt(bnB)) {\n return -1;\n }\n else if (bnA.eq(bnB)) {\n return 0;\n }\n else {\n return 1;\n }\n }\n};\nmodule.exports = {\n _fireError: _fireError,\n _jsonInterfaceMethodToString: _jsonInterfaceMethodToString,\n _flattenTypes: _flattenTypes,\n // extractDisplayName: extractDisplayName,\n // extractTypeName: extractTypeName,\n randomHex: randomHex,\n BN: utils.BN,\n isBN: utils.isBN,\n isBigNumber: utils.isBigNumber,\n isHex: utils.isHex,\n isHexStrict: utils.isHexStrict,\n sha3: utils.sha3,\n sha3Raw: utils.sha3Raw,\n keccak256: utils.sha3,\n soliditySha3: soliditySha3.soliditySha3,\n soliditySha3Raw: soliditySha3.soliditySha3Raw,\n encodePacked: soliditySha3.encodePacked,\n isAddress: utils.isAddress,\n checkAddressChecksum: utils.checkAddressChecksum,\n toChecksumAddress: toChecksumAddress,\n toHex: utils.toHex,\n toBN: utils.toBN,\n bytesToHex: utils.bytesToHex,\n hexToBytes: utils.hexToBytes,\n hexToNumberString: utils.hexToNumberString,\n hexToNumber: utils.hexToNumber,\n toDecimal: utils.hexToNumber,\n numberToHex: utils.numberToHex,\n fromDecimal: utils.numberToHex,\n hexToUtf8: utils.hexToUtf8,\n hexToString: utils.hexToUtf8,\n toUtf8: utils.hexToUtf8,\n stripHexPrefix: utils.stripHexPrefix,\n utf8ToHex: utils.utf8ToHex,\n stringToHex: utils.utf8ToHex,\n fromUtf8: utils.utf8ToHex,\n hexToAscii: hexToAscii,\n toAscii: hexToAscii,\n asciiToHex: asciiToHex,\n fromAscii: asciiToHex,\n unitMap: ethjsUnit.unitMap,\n toWei: toWei,\n fromWei: fromWei,\n padLeft: utils.leftPad,\n leftPad: utils.leftPad,\n padRight: utils.rightPad,\n rightPad: utils.rightPad,\n toTwosComplement: utils.toTwosComplement,\n isBloom: utils.isBloom,\n isUserEthereumAddressInBloom: utils.isUserEthereumAddressInBloom,\n isContractAddressInBloom: utils.isContractAddressInBloom,\n isTopic: utils.isTopic,\n isTopicInBloom: utils.isTopicInBloom,\n isInBloom: utils.isInBloom,\n compareBlockNumbers: compareBlockNumbers,\n toNumber: utils.toNumber\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","\"use strict\";\nimport { arrayify, concat, hexConcat, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nexport class Coder {\n constructor(name, type, localName, dynamic) {\n // @TODO: defineReadOnly these\n this.name = name;\n this.type = type;\n this.localName = localName;\n this.dynamic = dynamic;\n }\n _throwError(message, value) {\n logger.throwArgumentError(message, this.localName, value);\n }\n}\nexport class Writer {\n constructor(wordSize) {\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n this._data = [];\n this._dataLength = 0;\n this._padding = new Uint8Array(wordSize);\n }\n get data() {\n return hexConcat(this._data);\n }\n get length() { return this._dataLength; }\n _writeData(data) {\n this._data.push(data);\n this._dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this._writeData(concat(writer._data));\n }\n // Arrayish items; padded on the right to wordSize\n writeBytes(value) {\n let bytes = arrayify(value);\n const paddingOffset = bytes.length % this.wordSize;\n if (paddingOffset) {\n bytes = concat([bytes, this._padding.slice(paddingOffset)]);\n }\n return this._writeData(bytes);\n }\n _getValue(value) {\n let bytes = arrayify(BigNumber.from(value));\n if (bytes.length > this.wordSize) {\n logger.throwError(\"value out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this.wordSize,\n offset: bytes.length\n });\n }\n if (bytes.length % this.wordSize) {\n bytes = concat([this._padding.slice(bytes.length % this.wordSize), bytes]);\n }\n return bytes;\n }\n // BigNumberish items; padded on the left to wordSize\n writeValue(value) {\n return this._writeData(this._getValue(value));\n }\n writeUpdatableValue() {\n const offset = this._data.length;\n this._data.push(this._padding);\n this._dataLength += this.wordSize;\n return (value) => {\n this._data[offset] = this._getValue(value);\n };\n }\n}\nexport class Reader {\n constructor(data, wordSize, coerceFunc, allowLoose) {\n defineReadOnly(this, \"_data\", arrayify(data));\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n defineReadOnly(this, \"_coerceFunc\", coerceFunc);\n defineReadOnly(this, \"allowLoose\", allowLoose);\n this._offset = 0;\n }\n get data() { return hexlify(this._data); }\n get consumed() { return this._offset; }\n // The default Coerce function\n static coerce(name, value) {\n let match = name.match(\"^u?int([0-9]+)$\");\n if (match && parseInt(match[1]) <= 48) {\n value = value.toNumber();\n }\n return value;\n }\n coerce(name, value) {\n if (this._coerceFunc) {\n return this._coerceFunc(name, value);\n }\n return Reader.coerce(name, value);\n }\n _peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;\n if (this._offset + alignedLength > this._data.length) {\n if (this.allowLoose && loose && this._offset + length <= this._data.length) {\n alignedLength = length;\n }\n else {\n logger.throwError(\"data out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this._data.length,\n offset: this._offset + alignedLength\n });\n }\n }\n return this._data.slice(this._offset, this._offset + alignedLength);\n }\n subReader(offset) {\n return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);\n }\n readBytes(length, loose) {\n let bytes = this._peekBytes(0, length, !!loose);\n this._offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n readValue() {\n return BigNumber.from(this.readBytes(this.wordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/// \n/**\n * Constants\n */\n__exportStar(require(\"./constants\"), exports);\n/**\n * Account class and helper functions\n */\n__exportStar(require(\"./account\"), exports);\n/**\n * Address type\n */\n__exportStar(require(\"./address\"), exports);\n/**\n * Hash functions\n */\n__exportStar(require(\"./hash\"), exports);\n/**\n * ECDSA signature\n */\n__exportStar(require(\"./signature\"), exports);\n/**\n * Utilities for manipulating Buffers, byte arrays, etc.\n */\n__exportStar(require(\"./bytes\"), exports);\n/**\n * Function for definining properties on an object\n */\n__exportStar(require(\"./object\"), exports);\n/**\n * External exports (BN, rlp, secp256k1)\n */\n__exportStar(require(\"./externals\"), exports);\n/**\n * Helpful TypeScript types\n */\n__exportStar(require(\"./types\"), exports);\n/**\n * Export ethjs-util methods\n */\n__exportStar(require(\"ethjs-util\"), exports);\n//# sourceMappingURL=index.js.map","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\nconst requestManager = require(\"web3-core-requestmanager\");\nconst extend = require(\"./extend\");\nconst packageInit = (pkg, args) => {\n args = Array.prototype.slice.call(args);\n if (!pkg) {\n throw new Error('You need to instantiate using the \"new\" keyword.');\n }\n // make property of pkg._provider, which can properly set providers\n Object.defineProperty(pkg, 'currentProvider', {\n get: () => {\n return pkg._provider;\n },\n set: (value) => {\n return pkg.setProvider(value);\n },\n enumerable: true,\n configurable: true\n });\n // inherit from parent package or create a new RequestManager\n if (args[0] && args[0]._requestManager) {\n pkg._requestManager = args[0]._requestManager;\n }\n else {\n pkg._requestManager = new requestManager.Manager(args[0], args[1]);\n }\n // add givenProvider\n pkg.givenProvider = requestManager.Manager.givenProvider;\n pkg.providers = requestManager.Manager.providers;\n pkg._provider = pkg._requestManager.provider;\n // add SETPROVIDER function (don't overwrite if already existing)\n if (!pkg.setProvider) {\n pkg.setProvider = (provider, net) => {\n pkg._requestManager.setProvider(provider, net);\n pkg._provider = pkg._requestManager.provider;\n return true;\n };\n }\n pkg.setRequestManager = (manager) => {\n pkg._requestManager = manager;\n pkg._provider = manager.provider;\n };\n // attach batch request creation\n pkg.BatchRequest = requestManager.BatchManager.bind(null, pkg._requestManager);\n // attach extend function\n pkg.extend = extend(pkg);\n};\nconst addProviders = (pkg) => {\n pkg.givenProvider = requestManager.Manager.givenProvider;\n pkg.providers = requestManager.Manager.providers;\n};\nmodule.exports = {\n packageInit,\n addProviders\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @author Marek Kotewicz \n * @date 2017\n */\n'use strict';\nvar errors = require('web3-core-helpers').errors;\nvar formatters = require('web3-core-helpers').formatters;\nvar utils = require('web3-utils');\nvar promiEvent = require('web3-core-promievent');\nvar Subscriptions = require('web3-core-subscriptions').subscriptions;\nvar HardForks = require('@ethereumjs/common').Hardfork;\nvar EthersTransactionUtils = require('@ethersproject/transactions');\nvar Method = function Method(options) {\n if (!options.call || !options.name) {\n throw new Error('When creating a method you need to provide at least the \"name\" and \"call\" property.');\n }\n this.name = options.name;\n this.call = options.call;\n this.params = options.params || 0;\n this.inputFormatter = options.inputFormatter;\n this.outputFormatter = options.outputFormatter;\n this.transformPayload = options.transformPayload;\n this.extraFormatters = options.extraFormatters;\n this.abiCoder = options.abiCoder; // Will be used to encode the revert reason string\n this.requestManager = options.requestManager;\n // reference to eth.accounts\n this.accounts = options.accounts;\n this.defaultBlock = options.defaultBlock || 'latest';\n this.defaultAccount = options.defaultAccount || null;\n this.transactionBlockTimeout = options.transactionBlockTimeout || 50;\n this.transactionConfirmationBlocks = options.transactionConfirmationBlocks || 24;\n this.transactionPollingTimeout = options.transactionPollingTimeout || 750;\n this.defaultCommon = options.defaultCommon;\n this.defaultChain = options.defaultChain;\n this.defaultHardfork = options.defaultHardfork;\n this.handleRevert = options.handleRevert;\n};\nMethod.prototype.setRequestManager = function (requestManager, accounts) {\n this.requestManager = requestManager;\n // reference to eth.accounts\n if (accounts) {\n this.accounts = accounts;\n }\n};\nMethod.prototype.createFunction = function (requestManager, accounts) {\n var func = this.buildCall();\n func.call = this.call;\n this.setRequestManager(requestManager || this.requestManager, accounts || this.accounts);\n return func;\n};\nMethod.prototype.attachToObject = function (obj) {\n var func = this.buildCall();\n func.call = this.call;\n var name = this.name.split('.');\n if (name.length > 1) {\n obj[name[0]] = obj[name[0]] || {};\n obj[name[0]][name[1]] = func;\n }\n else {\n obj[name[0]] = func;\n }\n};\n/**\n * Should be used to determine name of the jsonrpc method based on arguments\n *\n * @method getCall\n * @param {Array} arguments\n * @return {String} name of jsonrpc method\n */\nMethod.prototype.getCall = function (args) {\n return typeof this.call === 'function' ? this.call(args) : this.call;\n};\n/**\n * Should be used to extract callback from array of arguments. Modifies input param\n *\n * @method extractCallback\n * @param {Array} arguments\n * @return {Function|Null} callback, if exists\n */\nMethod.prototype.extractCallback = function (args) {\n if (typeof (args[args.length - 1]) === 'function') {\n return args.pop(); // modify the args array!\n }\n};\n/**\n * Should be called to check if the number of arguments is correct\n *\n * @method validateArgs\n * @param {Array} arguments\n * @throws {Error} if it is not\n */\nMethod.prototype.validateArgs = function (args) {\n if (args.length !== this.params) {\n throw errors.InvalidNumberOfParams(args.length, this.params, this.name);\n }\n};\n/**\n * Should be called to format input args of method\n *\n * @method formatInput\n * @param {Array}\n * @return {Array}\n */\nMethod.prototype.formatInput = function (args) {\n var _this = this;\n if (!this.inputFormatter) {\n return args;\n }\n return this.inputFormatter.map(function (formatter, index) {\n // bind this for defaultBlock, and defaultAccount\n return formatter ? formatter.call(_this, args[index]) : args[index];\n });\n};\n/**\n * Should be called to format output(result) of method\n *\n * @method formatOutput\n * @param {Object}\n * @return {Object}\n */\nMethod.prototype.formatOutput = function (result) {\n var _this = this;\n if (Array.isArray(result)) {\n return result.map(function (res) {\n return _this.outputFormatter && res ? _this.outputFormatter(res) : res;\n });\n }\n else {\n return this.outputFormatter && result ? this.outputFormatter(result) : result;\n }\n};\n/**\n * Should create payload from given input args\n *\n * @method toPayload\n * @param {Array} args\n * @return {Object}\n */\nMethod.prototype.toPayload = function (args) {\n var call = this.getCall(args);\n var callback = this.extractCallback(args);\n var params = this.formatInput(args);\n this.validateArgs(params);\n var payload = {\n method: call,\n params: params,\n callback: callback\n };\n if (this.transformPayload) {\n payload = this.transformPayload(payload);\n }\n return payload;\n};\nMethod.prototype._confirmTransaction = function (defer, result, payload) {\n var method = this, promiseResolved = false, canUnsubscribe = true, timeoutCount = 0, confirmationCount = 0, intervalId = null, lastBlock = null, receiptJSON = '', gasProvided = ((!!payload.params[0] && typeof payload.params[0] === 'object') && payload.params[0].gas) ? payload.params[0].gas : null, isContractDeployment = (!!payload.params[0] && typeof payload.params[0] === 'object') &&\n payload.params[0].data &&\n payload.params[0].from &&\n !payload.params[0].to, hasBytecode = isContractDeployment && payload.params[0].data.length > 2;\n // add custom send Methods\n var _ethereumCalls = [\n new Method({\n name: 'getBlockByNumber',\n call: 'eth_getBlockByNumber',\n params: 2,\n inputFormatter: [formatters.inputBlockNumberFormatter, function (val) {\n return !!val;\n }],\n outputFormatter: formatters.outputBlockFormatter\n }),\n new Method({\n name: 'getTransactionReceipt',\n call: 'eth_getTransactionReceipt',\n params: 1,\n inputFormatter: [null],\n outputFormatter: formatters.outputTransactionReceiptFormatter\n }),\n new Method({\n name: 'getCode',\n call: 'eth_getCode',\n params: 2,\n inputFormatter: [formatters.inputAddressFormatter, formatters.inputDefaultBlockNumberFormatter]\n }),\n new Method({\n name: 'getTransactionByHash',\n call: 'eth_getTransactionByHash',\n params: 1,\n inputFormatter: [null],\n outputFormatter: formatters.outputTransactionFormatter\n }),\n new Subscriptions({\n name: 'subscribe',\n type: 'eth',\n subscriptions: {\n 'newBlockHeaders': {\n subscriptionName: 'newHeads',\n params: 0,\n outputFormatter: formatters.outputBlockFormatter\n }\n }\n })\n ];\n // attach methods to this._ethereumCall\n var _ethereumCall = {};\n _ethereumCalls.forEach(mthd => {\n mthd.attachToObject(_ethereumCall);\n mthd.requestManager = method.requestManager; // assign rather than call setRequestManager()\n });\n // fire \"receipt\" and confirmation events and resolve after\n var checkConfirmation = function (existingReceipt, isPolling, err, blockHeader, sub) {\n if (!err) {\n // create fake unsubscribe\n if (!sub) {\n sub = {\n unsubscribe: function () {\n clearInterval(intervalId);\n }\n };\n }\n // if we have a valid receipt we don't need to send a request\n return (existingReceipt ? promiEvent.resolve(existingReceipt) : _ethereumCall.getTransactionReceipt(result))\n // catch error from requesting receipt\n .catch(function (err) {\n sub.unsubscribe();\n promiseResolved = true;\n utils._fireError({\n message: 'Failed to check for transaction receipt:',\n data: err\n }, defer.eventEmitter, defer.reject);\n })\n // if CONFIRMATION listener exists check for confirmations, by setting canUnsubscribe = false\n .then(async function (receipt) {\n if (!receipt || !receipt.blockHash) {\n throw new Error('Receipt missing or blockHash null');\n }\n // apply extra formatters\n if (method.extraFormatters && method.extraFormatters.receiptFormatter) {\n receipt = method.extraFormatters.receiptFormatter(receipt);\n }\n // check if confirmation listener exists\n if (defer.eventEmitter.listeners('confirmation').length > 0) {\n var block;\n // If there was an immediately retrieved receipt, it's already\n // been confirmed by the direct call to checkConfirmation needed\n // for parity instant-seal\n if (existingReceipt === undefined || confirmationCount !== 0) {\n // Get latest block to emit with confirmation\n var latestBlock = await _ethereumCall.getBlockByNumber('latest');\n var latestBlockHash = latestBlock ? latestBlock.hash : null;\n if (isPolling) { // Check if actually a new block is existing on polling\n if (lastBlock) {\n block = await _ethereumCall.getBlockByNumber(lastBlock.number + 1);\n if (block) {\n lastBlock = block;\n defer.eventEmitter.emit('confirmation', confirmationCount, receipt, latestBlockHash);\n }\n }\n else {\n block = await _ethereumCall.getBlockByNumber(receipt.blockNumber);\n lastBlock = block;\n defer.eventEmitter.emit('confirmation', confirmationCount, receipt, latestBlockHash);\n }\n }\n else {\n defer.eventEmitter.emit('confirmation', confirmationCount, receipt, latestBlockHash);\n }\n }\n if ((isPolling && block) || !isPolling) {\n confirmationCount++;\n }\n canUnsubscribe = false;\n if (confirmationCount === method.transactionConfirmationBlocks + 1) { // add 1 so we account for conf 0\n sub.unsubscribe();\n defer.eventEmitter.removeAllListeners();\n }\n }\n return receipt;\n })\n // CHECK for CONTRACT DEPLOYMENT\n .then(async function (receipt) {\n if (isContractDeployment && !promiseResolved) {\n if (!receipt.contractAddress) {\n if (canUnsubscribe) {\n sub.unsubscribe();\n promiseResolved = true;\n }\n utils._fireError(errors.NoContractAddressFoundError(receipt), defer.eventEmitter, defer.reject, null, receipt);\n return;\n }\n var code;\n try {\n code = await _ethereumCall.getCode(receipt.contractAddress);\n }\n catch (err) {\n // ignore;\n }\n if (!code) {\n return;\n }\n // If deployment is status.true and there was a real\n // bytecode string, assume it was successful.\n var deploymentSuccess = receipt.status === true && hasBytecode;\n if (deploymentSuccess || code.length > 2) {\n defer.eventEmitter.emit('receipt', receipt);\n // if contract, return instance instead of receipt\n if (method.extraFormatters && method.extraFormatters.contractDeployFormatter) {\n defer.resolve(method.extraFormatters.contractDeployFormatter(receipt));\n }\n else {\n defer.resolve(receipt);\n }\n // need to remove listeners, as they aren't removed automatically when succesfull\n if (canUnsubscribe) {\n defer.eventEmitter.removeAllListeners();\n }\n }\n else {\n utils._fireError(errors.ContractCodeNotStoredError(receipt), defer.eventEmitter, defer.reject, null, receipt);\n }\n if (canUnsubscribe) {\n sub.unsubscribe();\n }\n promiseResolved = true;\n }\n return receipt;\n })\n // CHECK for normal tx check for receipt only\n .then(async function (receipt) {\n if (!isContractDeployment && !promiseResolved) {\n if (!receipt.outOfGas &&\n (!gasProvided || gasProvided !== receipt.gasUsed) &&\n (receipt.status === true || receipt.status === '0x1' || typeof receipt.status === 'undefined')) {\n defer.eventEmitter.emit('receipt', receipt);\n defer.resolve(receipt);\n // need to remove listeners, as they aren't removed automatically when succesfull\n if (canUnsubscribe) {\n defer.eventEmitter.removeAllListeners();\n }\n }\n else {\n receiptJSON = JSON.stringify(receipt, null, 2);\n if (receipt.status === false || receipt.status === '0x0') {\n try {\n var revertMessage = null;\n if (method.handleRevert &&\n (method.call === 'eth_sendTransaction' || method.call === 'eth_sendRawTransaction')) {\n var txReplayOptions = payload.params[0];\n // If send was raw, fetch the transaction and reconstitute the\n // original params so they can be replayed with `eth_call`\n if (method.call === 'eth_sendRawTransaction') {\n var rawTransactionHex = payload.params[0];\n var parsedTx = EthersTransactionUtils.parse(rawTransactionHex);\n txReplayOptions = formatters.inputTransactionFormatter({\n data: parsedTx.data,\n to: parsedTx.to,\n from: parsedTx.from,\n gas: parsedTx.gasLimit.toHexString(),\n gasPrice: parsedTx.gasPrice.toHexString(),\n value: parsedTx.value.toHexString()\n });\n }\n // Get revert reason string with eth_call\n revertMessage = await method.getRevertReason(txReplayOptions, receipt.blockNumber);\n if (revertMessage) { // Only throw a revert error if a revert reason is existing\n utils._fireError(errors.TransactionRevertInstructionError(revertMessage.reason, revertMessage.signature, receipt), defer.eventEmitter, defer.reject, null, receipt);\n }\n else {\n throw false; // Throw false and let the try/catch statement handle the error correctly after\n }\n }\n else {\n throw false; // Throw false and let the try/catch statement handle the error correctly after\n }\n }\n catch (error) {\n // Throw an normal revert error if no revert reason is given or the detection of it is disabled\n utils._fireError(errors.TransactionRevertedWithoutReasonError(receipt), defer.eventEmitter, defer.reject, null, receipt);\n }\n }\n else {\n // Throw OOG if status is not existing and provided gas and used gas are equal\n utils._fireError(errors.TransactionOutOfGasError(receipt), defer.eventEmitter, defer.reject, null, receipt);\n }\n }\n if (canUnsubscribe) {\n sub.unsubscribe();\n }\n promiseResolved = true;\n }\n })\n // time out the transaction if not mined after 50 blocks\n .catch(function () {\n timeoutCount++;\n // check to see if we are http polling\n if (!!isPolling) {\n // polling timeout is different than transactionBlockTimeout blocks since we are triggering every second\n if (timeoutCount - 1 >= method.transactionPollingTimeout) {\n sub.unsubscribe();\n promiseResolved = true;\n utils._fireError(errors.TransactionError('Transaction was not mined within ' + method.transactionPollingTimeout + ' seconds, please make sure your transaction was properly sent. Be aware that it might still be mined!'), defer.eventEmitter, defer.reject);\n }\n }\n else {\n if (timeoutCount - 1 >= method.transactionBlockTimeout) {\n sub.unsubscribe();\n promiseResolved = true;\n utils._fireError(errors.TransactionError('Transaction was not mined within ' + method.transactionBlockTimeout + ' blocks, please make sure your transaction was properly sent. Be aware that it might still be mined!'), defer.eventEmitter, defer.reject);\n }\n }\n });\n }\n else {\n sub.unsubscribe();\n promiseResolved = true;\n utils._fireError({\n message: 'Failed to subscribe to new newBlockHeaders to confirm the transaction receipts.',\n data: err\n }, defer.eventEmitter, defer.reject);\n }\n };\n // start watching for confirmation depending on the support features of the provider\n var startWatching = function (existingReceipt) {\n const startInterval = () => {\n intervalId = setInterval(checkConfirmation.bind(null, existingReceipt, true), 1000);\n };\n if (!this.requestManager.provider.on) {\n startInterval();\n }\n else {\n _ethereumCall.subscribe('newBlockHeaders', function (err, blockHeader, sub) {\n if (err || !blockHeader) {\n // fall back to polling\n startInterval();\n }\n else {\n checkConfirmation(existingReceipt, false, err, blockHeader, sub);\n }\n });\n }\n }.bind(this);\n // first check if we already have a confirmed transaction\n _ethereumCall.getTransactionReceipt(result)\n .then(function (receipt) {\n if (receipt && receipt.blockHash) {\n if (defer.eventEmitter.listeners('confirmation').length > 0) {\n // We must keep on watching for new Blocks, if a confirmation listener is present\n startWatching(receipt);\n }\n checkConfirmation(receipt, false);\n }\n else if (!promiseResolved) {\n startWatching();\n }\n })\n .catch(function () {\n if (!promiseResolved)\n startWatching();\n });\n};\nvar getWallet = function (from, accounts) {\n var wallet = null;\n // is index given\n if (typeof from === 'number') {\n wallet = accounts.wallet[from];\n // is account given\n }\n else if (!!from && typeof from === 'object' && from.address && from.privateKey) {\n wallet = from;\n // search in wallet for address\n }\n else {\n wallet = accounts.wallet[from.toLowerCase()];\n }\n return wallet;\n};\nMethod.prototype.buildCall = function () {\n var method = this, isSendTx = (method.call === 'eth_sendTransaction' || method.call === 'eth_sendRawTransaction'), // || method.call === 'personal_sendTransaction'\n isCall = (method.call === 'eth_call');\n // actual send function\n var send = function () {\n var defer = promiEvent(!isSendTx), payload = method.toPayload(Array.prototype.slice.call(arguments));\n // CALLBACK function\n var sendTxCallback = function (err, result) {\n if (method.handleRevert && isCall && method.abiCoder) {\n var reasonData;\n // Ganache / Geth <= 1.9.13 return the reason data as a successful eth_call response\n // Geth >= 1.9.15 attaches the reason data to an error object.\n // Geth 1.9.14 is missing revert reason (https://github.com/ethereum/web3.js/issues/3520)\n if (!err && method.isRevertReasonString(result)) {\n reasonData = result.substring(10);\n }\n else if (err && err.data) {\n reasonData = err.data.substring(10);\n }\n if (reasonData) {\n var reason = method.abiCoder.decodeParameter('string', '0x' + reasonData);\n var signature = 'Error(String)';\n utils._fireError(errors.RevertInstructionError(reason, signature), defer.eventEmitter, defer.reject, payload.callback, {\n reason: reason,\n signature: signature\n });\n return;\n }\n }\n try {\n result = method.formatOutput(result);\n }\n catch (e) {\n err = e;\n }\n if (result instanceof Error) {\n err = result;\n }\n if (!err) {\n if (payload.callback) {\n payload.callback(null, result);\n }\n }\n else {\n if (err.error) {\n err = err.error;\n }\n return utils._fireError(err, defer.eventEmitter, defer.reject, payload.callback);\n }\n // return PROMISE\n if (!isSendTx) {\n if (!err) {\n defer.resolve(result);\n }\n // return PROMIEVENT\n }\n else {\n defer.eventEmitter.emit('transactionHash', result);\n method._confirmTransaction(defer, result, payload);\n }\n };\n // SENDS the SIGNED SIGNATURE\n var sendSignedTx = function (sign) {\n var signedPayload = { ...payload,\n method: 'eth_sendRawTransaction',\n params: [sign.rawTransaction]\n };\n method.requestManager.send(signedPayload, sendTxCallback);\n };\n var sendRequest = function (payload, method) {\n if (method && method.accounts && method.accounts.wallet && method.accounts.wallet.length) {\n var wallet;\n // ETH_SENDTRANSACTION\n if (payload.method === 'eth_sendTransaction') {\n var tx = payload.params[0];\n wallet = getWallet((!!tx && typeof tx === 'object') ? tx.from : null, method.accounts);\n // If wallet was found, sign tx, and send using sendRawTransaction\n if (wallet && wallet.privateKey) {\n var tx = JSON.parse(JSON.stringify(tx));\n delete tx.from;\n if (method.defaultChain && !tx.chain) {\n tx.chain = method.defaultChain;\n }\n if (method.defaultHardfork && !tx.hardfork) {\n tx.hardfork = method.defaultHardfork;\n }\n if (method.defaultCommon && !tx.common) {\n tx.common = method.defaultCommon;\n }\n method.accounts.signTransaction(tx, wallet.privateKey)\n .then(sendSignedTx)\n .catch(function (err) {\n if (typeof defer.eventEmitter.listeners === 'function' && defer.eventEmitter.listeners('error').length) {\n try {\n defer.eventEmitter.emit('error', err);\n }\n catch (err) {\n // Ignore userland error prevent it to bubble up within web3.\n }\n defer.eventEmitter.removeAllListeners();\n defer.eventEmitter.catch(function () {\n });\n }\n defer.reject(err);\n });\n return;\n }\n // ETH_SIGN\n }\n else if (payload.method === 'eth_sign') {\n var data = payload.params[1];\n wallet = getWallet(payload.params[0], method.accounts);\n // If wallet was found, sign tx, and send using sendRawTransaction\n if (wallet && wallet.privateKey) {\n var sign = method.accounts.sign(data, wallet.privateKey);\n if (payload.callback) {\n payload.callback(null, sign.signature);\n }\n defer.resolve(sign.signature);\n return;\n }\n }\n }\n return method.requestManager.send(payload, sendTxCallback);\n };\n // Send the actual transaction\n if (isSendTx\n && !!payload.params[0]\n && typeof payload.params[0] === 'object'\n && (typeof payload.params[0].gasPrice === 'undefined'\n && (typeof payload.params[0].maxPriorityFeePerGas === 'undefined'\n || typeof payload.params[0].maxFeePerGas === 'undefined'))) {\n if (typeof payload.params[0].type === 'undefined')\n payload.params[0].type = _handleTxType(payload.params[0]);\n _handleTxPricing(method, payload.params[0]).then(txPricing => {\n if (txPricing.gasPrice !== undefined) {\n payload.params[0].gasPrice = txPricing.gasPrice;\n }\n else if (txPricing.maxPriorityFeePerGas !== undefined\n && txPricing.maxFeePerGas !== undefined) {\n payload.params[0].maxPriorityFeePerGas = txPricing.maxPriorityFeePerGas;\n payload.params[0].maxFeePerGas = txPricing.maxFeePerGas;\n }\n if (isSendTx) {\n setTimeout(() => {\n defer.eventEmitter.emit('sending', payload);\n }, 0);\n }\n sendRequest(payload, method);\n });\n }\n else {\n if (isSendTx) {\n setTimeout(() => {\n defer.eventEmitter.emit('sending', payload);\n }, 0);\n }\n sendRequest(payload, method);\n }\n if (isSendTx) {\n setTimeout(() => {\n defer.eventEmitter.emit('sent', payload);\n }, 0);\n }\n return defer.eventEmitter;\n };\n // necessary to attach things to the method\n send.method = method;\n // necessary for batch requests\n send.request = this.request.bind(this);\n return send;\n};\nfunction _handleTxType(tx) {\n // Taken from https://github.com/ethers-io/ethers.js/blob/2a7ce0e72a1e0c9469e10392b0329e75e341cf18/packages/abstract-signer/src.ts/index.ts#L215\n const hasEip1559 = (tx.maxFeePerGas !== undefined || tx.maxPriorityFeePerGas !== undefined);\n let txType;\n if (tx.type !== undefined) {\n txType = utils.toHex(tx.type);\n }\n else if (tx.type === undefined && hasEip1559) {\n txType = '0x2';\n }\n else {\n txType = '0x0';\n }\n if (tx.gasPrice !== undefined && (txType === '0x2' || hasEip1559))\n throw Error(\"eip-1559 transactions don't support gasPrice\");\n if ((txType === '0x1' || txType === '0x0') && hasEip1559)\n throw Error(\"pre-eip-1559 transaction don't support maxFeePerGas/maxPriorityFeePerGas\");\n if (hasEip1559 ||\n ((tx.common && tx.common.hardfork && tx.common.hardfork.toLowerCase() === HardForks.London) ||\n (tx.hardfork && tx.hardfork.toLowerCase() === HardForks.London))) {\n txType = '0x2';\n }\n else if (tx.accessList ||\n ((tx.common && tx.common.hardfork && tx.common.hardfork.toLowerCase() === HardForks.Berlin) ||\n (tx.hardfork && tx.hardfork.toLowerCase() === HardForks.Berlin))) {\n txType = '0x1';\n }\n return txType;\n}\nfunction _handleTxPricing(method, tx) {\n return new Promise((resolve, reject) => {\n try {\n var getBlockByNumber = (new Method({\n name: 'getBlockByNumber',\n call: 'eth_getBlockByNumber',\n params: 2,\n inputFormatter: [function (blockNumber) {\n return blockNumber ? utils.toHex(blockNumber) : 'latest';\n }, function () {\n return false;\n }]\n })).createFunction(method.requestManager);\n var getGasPrice = (new Method({\n name: 'getGasPrice',\n call: 'eth_gasPrice',\n params: 0\n })).createFunction(method.requestManager);\n if (tx.type < '0x2' && tx.gasPrice !== undefined) {\n // Legacy transaction, return provided gasPrice\n resolve({ gasPrice: tx.gasPrice });\n }\n else {\n Promise.all([\n getBlockByNumber(),\n getGasPrice()\n ]).then(responses => {\n const [block, gasPrice] = responses;\n if ((tx.type === '0x2') &&\n block && block.baseFeePerGas) {\n // The network supports EIP-1559\n // Taken from https://github.com/ethers-io/ethers.js/blob/ba6854bdd5a912fe873d5da494cb5c62c190adde/packages/abstract-provider/src.ts/index.ts#L230\n let maxPriorityFeePerGas, maxFeePerGas;\n if (tx.gasPrice) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n maxPriorityFeePerGas = tx.gasPrice;\n maxFeePerGas = tx.gasPrice;\n delete tx.gasPrice;\n }\n else {\n maxPriorityFeePerGas = tx.maxPriorityFeePerGas || '0x3B9ACA00'; // 1 Gwei\n maxFeePerGas = tx.maxFeePerGas ||\n utils.toHex(utils.toBN(block.baseFeePerGas)\n .mul(utils.toBN(2))\n .add(utils.toBN(maxPriorityFeePerGas)));\n }\n resolve({ maxFeePerGas, maxPriorityFeePerGas });\n }\n else {\n if (tx.maxPriorityFeePerGas || tx.maxFeePerGas)\n throw Error(\"Network doesn't support eip-1559\");\n resolve({ gasPrice });\n }\n });\n }\n }\n catch (error) {\n reject(error);\n }\n });\n}\n/**\n * Returns the revert reason string if existing or otherwise false.\n *\n * @method getRevertReason\n *\n * @param {Object} txOptions\n * @param {Number} blockNumber\n *\n * @returns {Promise}\n */\nMethod.prototype.getRevertReason = function (txOptions, blockNumber) {\n var self = this;\n return new Promise(function (resolve, reject) {\n (new Method({\n name: 'call',\n call: 'eth_call',\n params: 2,\n abiCoder: self.abiCoder,\n handleRevert: true\n }))\n .createFunction(self.requestManager)(txOptions, utils.numberToHex(blockNumber))\n .then(function () {\n resolve(false);\n })\n .catch(function (error) {\n if (error.reason) {\n resolve({\n reason: error.reason,\n signature: error.signature\n });\n }\n else {\n reject(error);\n }\n });\n });\n};\n/**\n * Checks if the given hex string is a revert message from the EVM\n *\n * @method isRevertReasonString\n *\n * @param {String} data - Hex string prefixed with 0x\n *\n * @returns {Boolean}\n */\nMethod.prototype.isRevertReasonString = function (data) {\n return typeof data === 'string' && ((data.length - 2) / 2) % 32 === 4 && data.substring(0, 10) === '0x08c379a0';\n};\n/**\n * Should be called to create the pure JSONRPC request which can be used in a batch request\n *\n * @method request\n * @return {Object} jsonrpc request\n */\nMethod.prototype.request = function () {\n var payload = this.toPayload(Array.prototype.slice.call(arguments));\n payload.format = this.formatOutput.bind(this);\n return payload;\n};\nmodule.exports = Method;\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.baToJSON = exports.addHexPrefix = exports.toUnsigned = exports.fromSigned = exports.bufferToHex = exports.bufferToInt = exports.toBuffer = exports.unpadHexString = exports.unpadArray = exports.unpadBuffer = exports.setLengthRight = exports.setLengthLeft = exports.zeros = void 0;\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\nvar ethjs_util_1 = require(\"ethjs-util\");\nvar helpers_1 = require(\"./helpers\");\n/**\n * Returns a buffer filled with 0s.\n * @param bytes the number of bytes the buffer should be\n */\nexports.zeros = function (bytes) {\n return Buffer.allocUnsafe(bytes).fill(0);\n};\n/**\n * Pads a `Buffer` with zeros till it has `length` bytes.\n * Truncates the beginning or end of input if its length exceeds `length`.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @param right whether to start padding form the left or right\n * @return (Buffer)\n */\nvar setLength = function (msg, length, right) {\n var buf = exports.zeros(length);\n if (right) {\n if (msg.length < length) {\n msg.copy(buf);\n return buf;\n }\n return msg.slice(0, length);\n }\n else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length);\n return buf;\n }\n return msg.slice(-length);\n }\n};\n/**\n * Left Pads a `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */\nexports.setLengthLeft = function (msg, length) {\n helpers_1.assertIsBuffer(msg);\n return setLength(msg, length, false);\n};\n/**\n * Right Pads a `Buffer` with trailing zeros till it has `length` bytes.\n * it truncates the end if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */\nexports.setLengthRight = function (msg, length) {\n helpers_1.assertIsBuffer(msg);\n return setLength(msg, length, true);\n};\n/**\n * Trims leading zeros from a `Buffer`, `String` or `Number[]`.\n * @param a (Buffer|Array|String)\n * @return (Buffer|Array|String)\n */\nvar stripZeros = function (a) {\n var first = a[0];\n while (a.length > 0 && first.toString() === '0') {\n a = a.slice(1);\n first = a[0];\n }\n return a;\n};\n/**\n * Trims leading zeros from a `Buffer`.\n * @param a (Buffer)\n * @return (Buffer)\n */\nexports.unpadBuffer = function (a) {\n helpers_1.assertIsBuffer(a);\n return stripZeros(a);\n};\n/**\n * Trims leading zeros from an `Array` (of numbers).\n * @param a (number[])\n * @return (number[])\n */\nexports.unpadArray = function (a) {\n helpers_1.assertIsArray(a);\n return stripZeros(a);\n};\n/**\n * Trims leading zeros from a hex-prefixed `String`.\n * @param a (String)\n * @return (String)\n */\nexports.unpadHexString = function (a) {\n helpers_1.assertIsHexString(a);\n a = ethjs_util_1.stripHexPrefix(a);\n return stripZeros(a);\n};\n/**\n * Attempts to turn a value into a `Buffer`.\n * Inputs supported: `Buffer`, `String` (hex-prefixed), `Number`, null/undefined, `BN` and other objects\n * with a `toArray()` or `toBuffer()` method.\n * @param v the value\n */\nexports.toBuffer = function (v) {\n if (v === null || v === undefined) {\n return Buffer.allocUnsafe(0);\n }\n if (Buffer.isBuffer(v)) {\n return Buffer.from(v);\n }\n if (Array.isArray(v) || v instanceof Uint8Array) {\n return Buffer.from(v);\n }\n if (typeof v === 'string') {\n if (!ethjs_util_1.isHexString(v)) {\n throw new Error(\"Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: \" + v);\n }\n return Buffer.from(ethjs_util_1.padToEven(ethjs_util_1.stripHexPrefix(v)), 'hex');\n }\n if (typeof v === 'number') {\n return ethjs_util_1.intToBuffer(v);\n }\n if (bn_js_1.default.isBN(v)) {\n return v.toArrayLike(Buffer);\n }\n if (v.toArray) {\n // converts a BN to a Buffer\n return Buffer.from(v.toArray());\n }\n if (v.toBuffer) {\n return Buffer.from(v.toBuffer());\n }\n throw new Error('invalid type');\n};\n/**\n * Converts a `Buffer` to a `Number`.\n * @param buf `Buffer` object to convert\n * @throws If the input number exceeds 53 bits.\n */\nexports.bufferToInt = function (buf) {\n return new bn_js_1.default(exports.toBuffer(buf)).toNumber();\n};\n/**\n * Converts a `Buffer` into a `0x`-prefixed hex `String`.\n * @param buf `Buffer` object to convert\n */\nexports.bufferToHex = function (buf) {\n buf = exports.toBuffer(buf);\n return '0x' + buf.toString('hex');\n};\n/**\n * Interprets a `Buffer` as a signed integer and returns a `BN`. Assumes 256-bit numbers.\n * @param num Signed integer value\n */\nexports.fromSigned = function (num) {\n return new bn_js_1.default(num).fromTwos(256);\n};\n/**\n * Converts a `BN` to an unsigned integer and returns it as a `Buffer`. Assumes 256-bit numbers.\n * @param num\n */\nexports.toUnsigned = function (num) {\n return Buffer.from(num.toTwos(256).toArray());\n};\n/**\n * Adds \"0x\" to a given `String` if it does not already start with \"0x\".\n */\nexports.addHexPrefix = function (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return ethjs_util_1.isHexPrefixed(str) ? str : '0x' + str;\n};\n/**\n * Converts a `Buffer` or `Array` to JSON.\n * @param ba (Buffer|Array)\n * @return (Array|String|null)\n */\nexports.baToJSON = function (ba) {\n if (Buffer.isBuffer(ba)) {\n return \"0x\" + ba.toString('hex');\n }\n else if (ba instanceof Array) {\n var array = [];\n for (var i = 0; i < ba.length; i++) {\n array.push(exports.baToJSON(ba[i]));\n }\n return array;\n }\n};\n//# sourceMappingURL=bytes.js.map","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","'use strict';\n\nvar isHexPrefixed = require('is-hex-prefixed');\nvar stripHexPrefix = require('strip-hex-prefix');\n\n/**\n * Pads a `String` to have an even length\n * @param {String} value\n * @return {String} output\n */\nfunction padToEven(value) {\n var a = value; // eslint-disable-line\n\n if (typeof a !== 'string') {\n throw new Error('[ethjs-util] while padding to even, value must be string, is currently ' + typeof a + ', while padToEven.');\n }\n\n if (a.length % 2) {\n a = '0' + a;\n }\n\n return a;\n}\n\n/**\n * Converts a `Number` into a hex `String`\n * @param {Number} i\n * @return {String}\n */\nfunction intToHex(i) {\n var hex = i.toString(16); // eslint-disable-line\n\n return '0x' + hex;\n}\n\n/**\n * Converts an `Number` to a `Buffer`\n * @param {Number} i\n * @return {Buffer}\n */\nfunction intToBuffer(i) {\n var hex = intToHex(i);\n\n return new Buffer(padToEven(hex.slice(2)), 'hex');\n}\n\n/**\n * Get the binary size of a string\n * @param {String} str\n * @return {Number}\n */\nfunction getBinarySize(str) {\n if (typeof str !== 'string') {\n throw new Error('[ethjs-util] while getting binary size, method getBinarySize requires input \\'str\\' to be type String, got \\'' + typeof str + '\\'.');\n }\n\n return Buffer.byteLength(str, 'utf8');\n}\n\n/**\n * Returns TRUE if the first specified array contains all elements\n * from the second one. FALSE otherwise.\n *\n * @param {array} superset\n * @param {array} subset\n *\n * @returns {boolean}\n */\nfunction arrayContainsArray(superset, subset, some) {\n if (Array.isArray(superset) !== true) {\n throw new Error('[ethjs-util] method arrayContainsArray requires input \\'superset\\' to be an array got type \\'' + typeof superset + '\\'');\n }\n if (Array.isArray(subset) !== true) {\n throw new Error('[ethjs-util] method arrayContainsArray requires input \\'subset\\' to be an array got type \\'' + typeof subset + '\\'');\n }\n\n return subset[Boolean(some) && 'some' || 'every'](function (value) {\n return superset.indexOf(value) >= 0;\n });\n}\n\n/**\n * Should be called to get utf8 from it's hex representation\n *\n * @method toUtf8\n * @param {String} string in hex\n * @returns {String} ascii string representation of hex value\n */\nfunction toUtf8(hex) {\n var bufferValue = new Buffer(padToEven(stripHexPrefix(hex).replace(/^0+|0+$/g, '')), 'hex');\n\n return bufferValue.toString('utf8');\n}\n\n/**\n * Should be called to get ascii from it's hex representation\n *\n * @method toAscii\n * @param {String} string in hex\n * @returns {String} ascii string representation of hex value\n */\nfunction toAscii(hex) {\n var str = ''; // eslint-disable-line\n var i = 0,\n l = hex.length; // eslint-disable-line\n\n if (hex.substring(0, 2) === '0x') {\n i = 2;\n }\n\n for (; i < l; i += 2) {\n var code = parseInt(hex.substr(i, 2), 16);\n str += String.fromCharCode(code);\n }\n\n return str;\n}\n\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @method fromUtf8\n * @param {String} string\n * @param {Number} optional padding\n * @returns {String} hex representation of input string\n */\nfunction fromUtf8(stringValue) {\n var str = new Buffer(stringValue, 'utf8');\n\n return '0x' + padToEven(str.toString('hex')).replace(/^0+|0+$/g, '');\n}\n\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @method fromAscii\n * @param {String} string\n * @param {Number} optional padding\n * @returns {String} hex representation of input string\n */\nfunction fromAscii(stringValue) {\n var hex = ''; // eslint-disable-line\n for (var i = 0; i < stringValue.length; i++) {\n // eslint-disable-line\n var code = stringValue.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? '0' + n : n;\n }\n\n return '0x' + hex;\n}\n\n/**\n * getKeys([{a: 1, b: 2}, {a: 3, b: 4}], 'a') => [1, 3]\n *\n * @method getKeys get specific key from inner object array of objects\n * @param {String} params\n * @param {String} key\n * @param {Boolean} allowEmpty\n * @returns {Array} output just a simple array of output keys\n */\nfunction getKeys(params, key, allowEmpty) {\n if (!Array.isArray(params)) {\n throw new Error('[ethjs-util] method getKeys expecting type Array as \\'params\\' input, got \\'' + typeof params + '\\'');\n }\n if (typeof key !== 'string') {\n throw new Error('[ethjs-util] method getKeys expecting type String for input \\'key\\' got \\'' + typeof key + '\\'.');\n }\n\n var result = []; // eslint-disable-line\n\n for (var i = 0; i < params.length; i++) {\n // eslint-disable-line\n var value = params[i][key]; // eslint-disable-line\n if (allowEmpty && !value) {\n value = '';\n } else if (typeof value !== 'string') {\n throw new Error('invalid abi');\n }\n result.push(value);\n }\n\n return result;\n}\n\n/**\n * Is the string a hex string.\n *\n * @method check if string is hex string of specific length\n * @param {String} value\n * @param {Number} length\n * @returns {Boolean} output the string is a hex string\n */\nfunction isHexString(value, length) {\n if (typeof value !== 'string' || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n\n if (length && value.length !== 2 + 2 * length) {\n return false;\n }\n\n return true;\n}\n\nmodule.exports = {\n arrayContainsArray: arrayContainsArray,\n intToBuffer: intToBuffer,\n getBinarySize: getBinarySize,\n isHexPrefixed: isHexPrefixed,\n stripHexPrefix: stripHexPrefix,\n padToEven: padToEven,\n intToHex: intToHex,\n fromAscii: fromAscii,\n fromUtf8: fromUtf8,\n toAscii: toAscii,\n toUtf8: toUtf8,\n getKeys: getKeys,\n isHexString: isHexString\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","'use strict';\n\nvar isHexPrefixed = require('is-hex-prefixed');\nvar stripHexPrefix = require('strip-hex-prefix');\n\n/**\n * Pads a `String` to have an even length\n * @param {String} value\n * @return {String} output\n */\nfunction padToEven(value) {\n var a = value; // eslint-disable-line\n\n if (typeof a !== 'string') {\n throw new Error('[ethjs-util] while padding to even, value must be string, is currently ' + typeof a + ', while padToEven.');\n }\n\n if (a.length % 2) {\n a = '0' + a;\n }\n\n return a;\n}\n\n/**\n * Converts a `Number` into a hex `String`\n * @param {Number} i\n * @return {String}\n */\nfunction intToHex(i) {\n var hex = i.toString(16); // eslint-disable-line\n\n return '0x' + hex;\n}\n\n/**\n * Converts an `Number` to a `Buffer`\n * @param {Number} i\n * @return {Buffer}\n */\nfunction intToBuffer(i) {\n var hex = intToHex(i);\n\n return new Buffer(padToEven(hex.slice(2)), 'hex');\n}\n\n/**\n * Get the binary size of a string\n * @param {String} str\n * @return {Number}\n */\nfunction getBinarySize(str) {\n if (typeof str !== 'string') {\n throw new Error('[ethjs-util] while getting binary size, method getBinarySize requires input \\'str\\' to be type String, got \\'' + typeof str + '\\'.');\n }\n\n return Buffer.byteLength(str, 'utf8');\n}\n\n/**\n * Returns TRUE if the first specified array contains all elements\n * from the second one. FALSE otherwise.\n *\n * @param {array} superset\n * @param {array} subset\n *\n * @returns {boolean}\n */\nfunction arrayContainsArray(superset, subset, some) {\n if (Array.isArray(superset) !== true) {\n throw new Error('[ethjs-util] method arrayContainsArray requires input \\'superset\\' to be an array got type \\'' + typeof superset + '\\'');\n }\n if (Array.isArray(subset) !== true) {\n throw new Error('[ethjs-util] method arrayContainsArray requires input \\'subset\\' to be an array got type \\'' + typeof subset + '\\'');\n }\n\n return subset[Boolean(some) && 'some' || 'every'](function (value) {\n return superset.indexOf(value) >= 0;\n });\n}\n\n/**\n * Should be called to get utf8 from it's hex representation\n *\n * @method toUtf8\n * @param {String} string in hex\n * @returns {String} ascii string representation of hex value\n */\nfunction toUtf8(hex) {\n var bufferValue = new Buffer(padToEven(stripHexPrefix(hex).replace(/^0+|0+$/g, '')), 'hex');\n\n return bufferValue.toString('utf8');\n}\n\n/**\n * Should be called to get ascii from it's hex representation\n *\n * @method toAscii\n * @param {String} string in hex\n * @returns {String} ascii string representation of hex value\n */\nfunction toAscii(hex) {\n var str = ''; // eslint-disable-line\n var i = 0,\n l = hex.length; // eslint-disable-line\n\n if (hex.substring(0, 2) === '0x') {\n i = 2;\n }\n\n for (; i < l; i += 2) {\n var code = parseInt(hex.substr(i, 2), 16);\n str += String.fromCharCode(code);\n }\n\n return str;\n}\n\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @method fromUtf8\n * @param {String} string\n * @param {Number} optional padding\n * @returns {String} hex representation of input string\n */\nfunction fromUtf8(stringValue) {\n var str = new Buffer(stringValue, 'utf8');\n\n return '0x' + padToEven(str.toString('hex')).replace(/^0+|0+$/g, '');\n}\n\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @method fromAscii\n * @param {String} string\n * @param {Number} optional padding\n * @returns {String} hex representation of input string\n */\nfunction fromAscii(stringValue) {\n var hex = ''; // eslint-disable-line\n for (var i = 0; i < stringValue.length; i++) {\n // eslint-disable-line\n var code = stringValue.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? '0' + n : n;\n }\n\n return '0x' + hex;\n}\n\n/**\n * getKeys([{a: 1, b: 2}, {a: 3, b: 4}], 'a') => [1, 3]\n *\n * @method getKeys get specific key from inner object array of objects\n * @param {String} params\n * @param {String} key\n * @param {Boolean} allowEmpty\n * @returns {Array} output just a simple array of output keys\n */\nfunction getKeys(params, key, allowEmpty) {\n if (!Array.isArray(params)) {\n throw new Error('[ethjs-util] method getKeys expecting type Array as \\'params\\' input, got \\'' + typeof params + '\\'');\n }\n if (typeof key !== 'string') {\n throw new Error('[ethjs-util] method getKeys expecting type String for input \\'key\\' got \\'' + typeof key + '\\'.');\n }\n\n var result = []; // eslint-disable-line\n\n for (var i = 0; i < params.length; i++) {\n // eslint-disable-line\n var value = params[i][key]; // eslint-disable-line\n if (allowEmpty && !value) {\n value = '';\n } else if (typeof value !== 'string') {\n throw new Error('invalid abi');\n }\n result.push(value);\n }\n\n return result;\n}\n\n/**\n * Is the string a hex string.\n *\n * @method check if string is hex string of specific length\n * @param {String} value\n * @param {Number} length\n * @returns {Boolean} output the string is a hex string\n */\nfunction isHexString(value, length) {\n if (typeof value !== 'string' || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n\n if (length && value.length !== 2 + 2 * length) {\n return false;\n }\n\n return true;\n}\n\nmodule.exports = {\n arrayContainsArray: arrayContainsArray,\n intToBuffer: intToBuffer,\n getBinarySize: getBinarySize,\n isHexPrefixed: isHexPrefixed,\n stripHexPrefix: stripHexPrefix,\n padToEven: padToEven,\n intToHex: intToHex,\n fromAscii: fromAscii,\n fromUtf8: fromUtf8,\n toAscii: toAscii,\n toUtf8: toUtf8,\n getKeys: getKeys,\n isHexString: isHexString\n};","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toType = exports.TypeOutput = exports.bnToRlp = exports.bnToUnpaddedBuffer = exports.bnToHex = void 0;\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\nvar ethjs_util_1 = require(\"ethjs-util\");\nvar bytes_1 = require(\"./bytes\");\n/**\n * Convert BN to 0x-prefixed hex string.\n */\nfunction bnToHex(value) {\n return \"0x\" + value.toString(16);\n}\nexports.bnToHex = bnToHex;\n/**\n * Convert value from BN to an unpadded Buffer\n * (useful for RLP transport)\n * @param value value to convert\n */\nfunction bnToUnpaddedBuffer(value) {\n // Using `bn.toArrayLike(Buffer)` instead of `bn.toBuffer()`\n // for compatibility with browserify and similar tools\n return bytes_1.unpadBuffer(value.toArrayLike(Buffer));\n}\nexports.bnToUnpaddedBuffer = bnToUnpaddedBuffer;\n/**\n * Deprecated alias for {@link bnToUnpaddedBuffer}\n * @deprecated\n */\nfunction bnToRlp(value) {\n return bnToUnpaddedBuffer(value);\n}\nexports.bnToRlp = bnToRlp;\n/**\n * Type output options\n */\nvar TypeOutput;\n(function (TypeOutput) {\n TypeOutput[TypeOutput[\"Number\"] = 0] = \"Number\";\n TypeOutput[TypeOutput[\"BN\"] = 1] = \"BN\";\n TypeOutput[TypeOutput[\"Buffer\"] = 2] = \"Buffer\";\n TypeOutput[TypeOutput[\"PrefixedHexString\"] = 3] = \"PrefixedHexString\";\n})(TypeOutput = exports.TypeOutput || (exports.TypeOutput = {}));\n/**\n * Convert an input to a specified type\n * @param input value to convert\n * @param outputType type to output\n */\nfunction toType(input, outputType) {\n if (typeof input === 'string' && !ethjs_util_1.isHexString(input)) {\n throw new Error(\"A string must be provided with a 0x-prefix, given: \" + input);\n }\n else if (typeof input === 'number' && !Number.isSafeInteger(input)) {\n throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)');\n }\n input = bytes_1.toBuffer(input);\n if (outputType === TypeOutput.Buffer) {\n return input;\n }\n else if (outputType === TypeOutput.BN) {\n return new bn_js_1.default(input);\n }\n else if (outputType === TypeOutput.Number) {\n var bn = new bn_js_1.default(input);\n var max = new bn_js_1.default(Number.MAX_SAFE_INTEGER.toString());\n if (bn.gt(max)) {\n throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)');\n }\n return bn.toNumber();\n }\n else {\n // outputType === TypeOutput.PrefixedHexString\n return \"0x\" + input.toString('hex');\n }\n}\nexports.toType = toType;\n//# sourceMappingURL=types.js.map","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","module.exports = require(\"regenerator-runtime\");\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","export const version = \"strings/5.1.0\";\n//# sourceMappingURL=_version.js.map","module.exports = {\n encode: require('./encode.js')\n , decode: require('./decode.js')\n , encodingLength: require('./length.js')\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2016\n */\n\"use strict\";\nvar EventEmitter = require('eventemitter3');\n/**\n * This function generates a defer promise and adds eventEmitter functionality to it\n *\n * @method eventifiedPromise\n */\nvar PromiEvent = function PromiEvent(justPromise) {\n var resolve, reject, eventEmitter = new Promise(function () {\n resolve = arguments[0];\n reject = arguments[1];\n });\n if (justPromise) {\n return {\n resolve: resolve,\n reject: reject,\n eventEmitter: eventEmitter\n };\n }\n // get eventEmitter\n var emitter = new EventEmitter();\n // add eventEmitter to the promise\n eventEmitter._events = emitter._events;\n eventEmitter.emit = emitter.emit;\n eventEmitter.on = emitter.on;\n eventEmitter.once = emitter.once;\n eventEmitter.off = emitter.off;\n eventEmitter.listeners = emitter.listeners;\n eventEmitter.addListener = emitter.addListener;\n eventEmitter.removeListener = emitter.removeListener;\n eventEmitter.removeAllListeners = emitter.removeAllListeners;\n return {\n resolve: resolve,\n reject: reject,\n eventEmitter: eventEmitter\n };\n};\nPromiEvent.resolve = function (value) {\n var promise = PromiEvent(true);\n promise.resolve(value);\n return promise.eventEmitter;\n};\nmodule.exports = PromiEvent;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar Subscription = require('./subscription.js');\nvar Subscriptions = function Subscriptions(options) {\n this.name = options.name;\n this.type = options.type;\n this.subscriptions = options.subscriptions || {};\n this.requestManager = null;\n};\nSubscriptions.prototype.setRequestManager = function (rm) {\n this.requestManager = rm;\n};\nSubscriptions.prototype.attachToObject = function (obj) {\n var func = this.buildCall();\n var name = this.name.split('.');\n if (name.length > 1) {\n obj[name[0]] = obj[name[0]] || {};\n obj[name[0]][name[1]] = func;\n }\n else {\n obj[name[0]] = func;\n }\n};\nSubscriptions.prototype.buildCall = function () {\n var _this = this;\n return function () {\n if (!_this.subscriptions[arguments[0]]) {\n console.warn('Subscription ' + JSON.stringify(arguments[0]) + ' doesn\\'t exist. Subscribing anyway.');\n }\n var subscription = new Subscription({\n subscription: _this.subscriptions[arguments[0]] || {},\n requestManager: _this.requestManager,\n type: _this.type\n });\n return subscription.subscribe.apply(subscription, arguments);\n };\n};\nmodule.exports = {\n subscriptions: Subscriptions,\n subscription: Subscription\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertIsString = exports.assertIsArray = exports.assertIsBuffer = exports.assertIsHexString = void 0;\nvar ethjs_util_1 = require(\"ethjs-util\");\n/**\n * Throws if a string is not hex prefixed\n * @param {string} input string to check hex prefix of\n */\nexports.assertIsHexString = function (input) {\n if (!ethjs_util_1.isHexString(input)) {\n var msg = \"This method only supports 0x-prefixed hex strings but input was: \" + input;\n throw new Error(msg);\n }\n};\n/**\n * Throws if input is not a buffer\n * @param {Buffer} input value to check\n */\nexports.assertIsBuffer = function (input) {\n if (!Buffer.isBuffer(input)) {\n var msg = \"This method only supports Buffer but input was: \" + input;\n throw new Error(msg);\n }\n};\n/**\n * Throws if input is not an array\n * @param {number[]} input value to check\n */\nexports.assertIsArray = function (input) {\n if (!Array.isArray(input)) {\n var msg = \"This method only supports number arrays but input was: \" + input;\n throw new Error(msg);\n }\n};\n/**\n * Throws if input is not a string\n * @param {string} input value to check\n */\nexports.assertIsString = function (input) {\n if (typeof input !== 'string') {\n var msg = \"This method only supports strings but input was: \" + input;\n throw new Error(msg);\n }\n};\n//# sourceMappingURL=helpers.js.map","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar core = require('web3-core');\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar Net = function () {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n [\n new Method({\n name: 'getId',\n call: 'net_version',\n params: 0,\n outputFormatter: parseInt\n }),\n new Method({\n name: 'isListening',\n call: 'net_listening',\n params: 0\n }),\n new Method({\n name: 'getPeerCount',\n call: 'net_peerCount',\n params: 0,\n outputFormatter: utils.hexToNumber\n })\n ].forEach(function (method) {\n method.attachToObject(_this);\n method.setRequestManager(_this._requestManager);\n });\n};\ncore.addProviders(Net);\nmodule.exports = Net;\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","// This was ported from https://github.com/emn178/js-sha3, with some minor\n// modifications and pruning. It is licensed under MIT:\n//\n// Copyright 2015-2016 Chen, Yi-Cyuan\n// \n// Permission is hereby granted, free of charge, to any person obtaining\n// a copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to\n// permit persons to whom the Software is furnished to do so, subject to\n// the following conditions:\n// \n// The above copyright notice and this permission notice shall be\n// included in all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nconst HEX_CHARS = '0123456789abcdef'.split('');\nconst KECCAK_PADDING = [1, 256, 65536, 16777216];\nconst SHIFT = [0, 8, 16, 24];\nconst RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n\nconst Keccak = bits => ({\n blocks: [],\n reset: true,\n block: 0,\n start: 0,\n blockCount: 1600 - (bits << 1) >> 5,\n outputBlocks: bits >> 5,\n s: (s => [].concat(s, s, s, s, s))([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n});\n\nconst update = (state, message) => {\n var length = message.length,\n blocks = state.blocks,\n byteCount = state.blockCount << 2,\n blockCount = state.blockCount,\n outputBlocks = state.outputBlocks,\n s = state.s,\n index = 0,\n i,\n code;\n\n // update\n while (index < length) {\n if (state.reset) {\n state.reset = false;\n blocks[0] = state.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (typeof message !== \"string\") {\n for (i = state.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = state.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n }\n state.lastByteIndex = i;\n if (i >= byteCount) {\n state.start = i - byteCount;\n state.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n state.reset = true;\n } else {\n state.start = i;\n }\n }\n\n // finalize\n i = state.lastByteIndex;\n blocks[i >> 2] |= KECCAK_PADDING[i & 3];\n if (state.lastByteIndex === byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n\n // toString\n var hex = '',\n i = 0,\n j = 0,\n block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F] + HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F] + HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F] + HEX_CHARS[block >> 28 & 0x0F] + HEX_CHARS[block >> 24 & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n return \"0x\" + hex;\n};\n\nconst f = s => {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ (c2 << 1 | c3 >>> 31);\n l = c9 ^ (c3 << 1 | c2 >>> 31);\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ (c4 << 1 | c5 >>> 31);\n l = c1 ^ (c5 << 1 | c4 >>> 31);\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ (c6 << 1 | c7 >>> 31);\n l = c3 ^ (c7 << 1 | c6 >>> 31);\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ (c8 << 1 | c9 >>> 31);\n l = c5 ^ (c9 << 1 | c8 >>> 31);\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ (c0 << 1 | c1 >>> 31);\n l = c7 ^ (c1 << 1 | c0 >>> 31);\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = s[11] << 4 | s[10] >>> 28;\n b33 = s[10] << 4 | s[11] >>> 28;\n b14 = s[20] << 3 | s[21] >>> 29;\n b15 = s[21] << 3 | s[20] >>> 29;\n b46 = s[31] << 9 | s[30] >>> 23;\n b47 = s[30] << 9 | s[31] >>> 23;\n b28 = s[40] << 18 | s[41] >>> 14;\n b29 = s[41] << 18 | s[40] >>> 14;\n b20 = s[2] << 1 | s[3] >>> 31;\n b21 = s[3] << 1 | s[2] >>> 31;\n b2 = s[13] << 12 | s[12] >>> 20;\n b3 = s[12] << 12 | s[13] >>> 20;\n b34 = s[22] << 10 | s[23] >>> 22;\n b35 = s[23] << 10 | s[22] >>> 22;\n b16 = s[33] << 13 | s[32] >>> 19;\n b17 = s[32] << 13 | s[33] >>> 19;\n b48 = s[42] << 2 | s[43] >>> 30;\n b49 = s[43] << 2 | s[42] >>> 30;\n b40 = s[5] << 30 | s[4] >>> 2;\n b41 = s[4] << 30 | s[5] >>> 2;\n b22 = s[14] << 6 | s[15] >>> 26;\n b23 = s[15] << 6 | s[14] >>> 26;\n b4 = s[25] << 11 | s[24] >>> 21;\n b5 = s[24] << 11 | s[25] >>> 21;\n b36 = s[34] << 15 | s[35] >>> 17;\n b37 = s[35] << 15 | s[34] >>> 17;\n b18 = s[45] << 29 | s[44] >>> 3;\n b19 = s[44] << 29 | s[45] >>> 3;\n b10 = s[6] << 28 | s[7] >>> 4;\n b11 = s[7] << 28 | s[6] >>> 4;\n b42 = s[17] << 23 | s[16] >>> 9;\n b43 = s[16] << 23 | s[17] >>> 9;\n b24 = s[26] << 25 | s[27] >>> 7;\n b25 = s[27] << 25 | s[26] >>> 7;\n b6 = s[36] << 21 | s[37] >>> 11;\n b7 = s[37] << 21 | s[36] >>> 11;\n b38 = s[47] << 24 | s[46] >>> 8;\n b39 = s[46] << 24 | s[47] >>> 8;\n b30 = s[8] << 27 | s[9] >>> 5;\n b31 = s[9] << 27 | s[8] >>> 5;\n b12 = s[18] << 20 | s[19] >>> 12;\n b13 = s[19] << 20 | s[18] >>> 12;\n b44 = s[29] << 7 | s[28] >>> 25;\n b45 = s[28] << 7 | s[29] >>> 25;\n b26 = s[38] << 8 | s[39] >>> 24;\n b27 = s[39] << 8 | s[38] >>> 24;\n b8 = s[48] << 14 | s[49] >>> 18;\n b9 = s[49] << 14 | s[48] >>> 18;\n\n s[0] = b0 ^ ~b2 & b4;\n s[1] = b1 ^ ~b3 & b5;\n s[10] = b10 ^ ~b12 & b14;\n s[11] = b11 ^ ~b13 & b15;\n s[20] = b20 ^ ~b22 & b24;\n s[21] = b21 ^ ~b23 & b25;\n s[30] = b30 ^ ~b32 & b34;\n s[31] = b31 ^ ~b33 & b35;\n s[40] = b40 ^ ~b42 & b44;\n s[41] = b41 ^ ~b43 & b45;\n s[2] = b2 ^ ~b4 & b6;\n s[3] = b3 ^ ~b5 & b7;\n s[12] = b12 ^ ~b14 & b16;\n s[13] = b13 ^ ~b15 & b17;\n s[22] = b22 ^ ~b24 & b26;\n s[23] = b23 ^ ~b25 & b27;\n s[32] = b32 ^ ~b34 & b36;\n s[33] = b33 ^ ~b35 & b37;\n s[42] = b42 ^ ~b44 & b46;\n s[43] = b43 ^ ~b45 & b47;\n s[4] = b4 ^ ~b6 & b8;\n s[5] = b5 ^ ~b7 & b9;\n s[14] = b14 ^ ~b16 & b18;\n s[15] = b15 ^ ~b17 & b19;\n s[24] = b24 ^ ~b26 & b28;\n s[25] = b25 ^ ~b27 & b29;\n s[34] = b34 ^ ~b36 & b38;\n s[35] = b35 ^ ~b37 & b39;\n s[44] = b44 ^ ~b46 & b48;\n s[45] = b45 ^ ~b47 & b49;\n s[6] = b6 ^ ~b8 & b0;\n s[7] = b7 ^ ~b9 & b1;\n s[16] = b16 ^ ~b18 & b10;\n s[17] = b17 ^ ~b19 & b11;\n s[26] = b26 ^ ~b28 & b20;\n s[27] = b27 ^ ~b29 & b21;\n s[36] = b36 ^ ~b38 & b30;\n s[37] = b37 ^ ~b39 & b31;\n s[46] = b46 ^ ~b48 & b40;\n s[47] = b47 ^ ~b49 & b41;\n s[8] = b8 ^ ~b0 & b2;\n s[9] = b9 ^ ~b1 & b3;\n s[18] = b18 ^ ~b10 & b12;\n s[19] = b19 ^ ~b11 & b13;\n s[28] = b28 ^ ~b20 & b22;\n s[29] = b29 ^ ~b21 & b23;\n s[38] = b38 ^ ~b30 & b32;\n s[39] = b39 ^ ~b31 & b33;\n s[48] = b48 ^ ~b40 & b42;\n s[49] = b49 ^ ~b41 & b43;\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n};\n\nconst keccak = bits => str => {\n var msg;\n if (str.slice(0, 2) === \"0x\") {\n msg = [];\n for (var i = 2, l = str.length; i < l; i += 2) msg.push(parseInt(str.slice(i, i + 2), 16));\n } else {\n msg = str;\n }\n return update(Keccak(bits, bits), msg);\n};\n\nmodule.exports = {\n keccak256: keccak(256),\n keccak512: keccak(512),\n keccak256s: keccak(256),\n keccak512s: keccak(512)\n};","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar XMLHttpRequestEventTarget = /** @class */ (function () {\n function XMLHttpRequestEventTarget() {\n this.listeners = {};\n }\n XMLHttpRequestEventTarget.prototype.addEventListener = function (eventType, listener) {\n eventType = eventType.toLowerCase();\n this.listeners[eventType] = this.listeners[eventType] || [];\n this.listeners[eventType].push(listener.handleEvent || listener);\n };\n XMLHttpRequestEventTarget.prototype.removeEventListener = function (eventType, listener) {\n eventType = eventType.toLowerCase();\n if (!this.listeners[eventType]) {\n return;\n }\n var index = this.listeners[eventType].indexOf(listener.handleEvent || listener);\n if (index < 0) {\n return;\n }\n this.listeners[eventType].splice(index, 1);\n };\n XMLHttpRequestEventTarget.prototype.dispatchEvent = function (event) {\n var eventType = event.type.toLowerCase();\n event.target = this; // TODO: set event.currentTarget?\n if (this.listeners[eventType]) {\n for (var _i = 0, _a = this.listeners[eventType]; _i < _a.length; _i++) {\n var listener_1 = _a[_i];\n listener_1.call(this, event);\n }\n }\n var listener = this[\"on\" + eventType];\n if (listener) {\n listener.call(this, event);\n }\n return true;\n };\n return XMLHttpRequestEventTarget;\n}());\nexports.XMLHttpRequestEventTarget = XMLHttpRequestEventTarget;\n//# sourceMappingURL=xml-http-request-event-target.js.map","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rlphash = exports.ripemd160FromArray = exports.ripemd160FromString = exports.ripemd160 = exports.sha256FromArray = exports.sha256FromString = exports.sha256 = exports.keccakFromArray = exports.keccakFromHexString = exports.keccakFromString = exports.keccak256 = exports.keccak = void 0;\nvar keccak_1 = require(\"ethereum-cryptography/keccak\");\nvar createHash = require('create-hash');\nvar rlp = __importStar(require(\"rlp\"));\nvar bytes_1 = require(\"./bytes\");\nvar helpers_1 = require(\"./helpers\");\n/**\n * Creates Keccak hash of a Buffer input\n * @param a The input data (Buffer)\n * @param bits (number = 256) The Keccak width\n */\nexports.keccak = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n helpers_1.assertIsBuffer(a);\n switch (bits) {\n case 224: {\n return keccak_1.keccak224(a);\n }\n case 256: {\n return keccak_1.keccak256(a);\n }\n case 384: {\n return keccak_1.keccak384(a);\n }\n case 512: {\n return keccak_1.keccak512(a);\n }\n default: {\n throw new Error(\"Invald algorithm: keccak\" + bits);\n }\n }\n};\n/**\n * Creates Keccak-256 hash of the input, alias for keccak(a, 256).\n * @param a The input data (Buffer)\n */\nexports.keccak256 = function (a) {\n return exports.keccak(a);\n};\n/**\n * Creates Keccak hash of a utf-8 string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */\nexports.keccakFromString = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n helpers_1.assertIsString(a);\n var buf = Buffer.from(a, 'utf8');\n return exports.keccak(buf, bits);\n};\n/**\n * Creates Keccak hash of an 0x-prefixed string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */\nexports.keccakFromHexString = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n helpers_1.assertIsHexString(a);\n return exports.keccak(bytes_1.toBuffer(a), bits);\n};\n/**\n * Creates Keccak hash of a number array input\n * @param a The input data (number[])\n * @param bits (number = 256) The Keccak width\n */\nexports.keccakFromArray = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n helpers_1.assertIsArray(a);\n return exports.keccak(bytes_1.toBuffer(a), bits);\n};\n/**\n * Creates SHA256 hash of an input.\n * @param a The input data (Buffer|Array|String)\n */\nvar _sha256 = function (a) {\n a = bytes_1.toBuffer(a);\n return createHash('sha256').update(a).digest();\n};\n/**\n * Creates SHA256 hash of a Buffer input.\n * @param a The input data (Buffer)\n */\nexports.sha256 = function (a) {\n helpers_1.assertIsBuffer(a);\n return _sha256(a);\n};\n/**\n * Creates SHA256 hash of a string input.\n * @param a The input data (string)\n */\nexports.sha256FromString = function (a) {\n helpers_1.assertIsString(a);\n return _sha256(a);\n};\n/**\n * Creates SHA256 hash of a number[] input.\n * @param a The input data (number[])\n */\nexports.sha256FromArray = function (a) {\n helpers_1.assertIsArray(a);\n return _sha256(a);\n};\n/**\n * Creates RIPEMD160 hash of the input.\n * @param a The input data (Buffer|Array|String|Number)\n * @param padded Whether it should be padded to 256 bits or not\n */\nvar _ripemd160 = function (a, padded) {\n a = bytes_1.toBuffer(a);\n var hash = createHash('rmd160').update(a).digest();\n if (padded === true) {\n return bytes_1.setLengthLeft(hash, 32);\n }\n else {\n return hash;\n }\n};\n/**\n * Creates RIPEMD160 hash of a Buffer input.\n * @param a The input data (Buffer)\n * @param padded Whether it should be padded to 256 bits or not\n */\nexports.ripemd160 = function (a, padded) {\n helpers_1.assertIsBuffer(a);\n return _ripemd160(a, padded);\n};\n/**\n * Creates RIPEMD160 hash of a string input.\n * @param a The input data (String)\n * @param padded Whether it should be padded to 256 bits or not\n */\nexports.ripemd160FromString = function (a, padded) {\n helpers_1.assertIsString(a);\n return _ripemd160(a, padded);\n};\n/**\n * Creates RIPEMD160 hash of a number[] input.\n * @param a The input data (number[])\n * @param padded Whether it should be padded to 256 bits or not\n */\nexports.ripemd160FromArray = function (a, padded) {\n helpers_1.assertIsArray(a);\n return _ripemd160(a, padded);\n};\n/**\n * Creates SHA-3 hash of the RLP encoded version of the input.\n * @param a The input data\n */\nexports.rlphash = function (a) {\n return exports.keccak(rlp.encode(a));\n};\n//# sourceMappingURL=hash.js.map","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\nconst _constructorGuard = {};\nlet ModifiersBytes = { calldata: true, memory: true, storage: true };\nlet ModifiersNest = { calldata: true, memory: true };\nfunction checkModifier(type, name) {\n if (type === \"bytes\" || type === \"string\") {\n if (ModifiersBytes[name]) {\n return true;\n }\n }\n else if (type === \"address\") {\n if (name === \"payable\") {\n return true;\n }\n }\n else if (type.indexOf(\"[\") >= 0 || type === \"tuple\") {\n if (ModifiersNest[name]) {\n return true;\n }\n }\n if (ModifiersBytes[name] || name === \"payable\") {\n logger.throwArgumentError(\"invalid modifier\", \"name\", name);\n }\n return false;\n}\n// @TODO: Make sure that children of an indexed tuple are marked with a null indexed\nfunction parseParamType(param, allowIndexed) {\n let originalParam = param;\n function throwError(i) {\n logger.throwArgumentError(`unexpected character at position ${i}`, \"param\", param);\n }\n param = param.replace(/\\s/g, \" \");\n function newNode(parent) {\n let node = { type: \"\", name: \"\", parent: parent, state: { allowType: true } };\n if (allowIndexed) {\n node.indexed = false;\n }\n return node;\n }\n let parent = { type: \"\", name: \"\", state: { allowType: true } };\n let node = parent;\n for (let i = 0; i < param.length; i++) {\n let c = param[i];\n switch (c) {\n case \"(\":\n if (node.state.allowType && node.type === \"\") {\n node.type = \"tuple\";\n }\n else if (!node.state.allowParams) {\n throwError(i);\n }\n node.state.allowType = false;\n node.type = verifyType(node.type);\n node.components = [newNode(node)];\n node = node.components[0];\n break;\n case \")\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n node.type = verifyType(node.type);\n let child = node;\n node = node.parent;\n if (!node) {\n throwError(i);\n }\n delete child.parent;\n node.state.allowParams = false;\n node.state.allowName = true;\n node.state.allowArray = true;\n break;\n case \",\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n node.type = verifyType(node.type);\n let sibling = newNode(node.parent);\n //{ type: \"\", name: \"\", parent: node.parent, state: { allowType: true } };\n node.parent.components.push(sibling);\n delete node.parent;\n node = sibling;\n break;\n // Hit a space...\n case \" \":\n // If reading type, the type is done and may read a param or name\n if (node.state.allowType) {\n if (node.type !== \"\") {\n node.type = verifyType(node.type);\n delete node.state.allowType;\n node.state.allowName = true;\n node.state.allowParams = true;\n }\n }\n // If reading name, the name is done\n if (node.state.allowName) {\n if (node.name !== \"\") {\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n if (node.indexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n else {\n node.state.allowName = false;\n }\n }\n }\n break;\n case \"[\":\n if (!node.state.allowArray) {\n throwError(i);\n }\n node.type += c;\n node.state.allowArray = false;\n node.state.allowName = false;\n node.state.readArray = true;\n break;\n case \"]\":\n if (!node.state.readArray) {\n throwError(i);\n }\n node.type += c;\n node.state.readArray = false;\n node.state.allowArray = true;\n node.state.allowName = true;\n break;\n default:\n if (node.state.allowType) {\n node.type += c;\n node.state.allowParams = true;\n node.state.allowArray = true;\n }\n else if (node.state.allowName) {\n node.name += c;\n delete node.state.allowArray;\n }\n else if (node.state.readArray) {\n node.type += c;\n }\n else {\n throwError(i);\n }\n }\n }\n if (node.parent) {\n logger.throwArgumentError(\"unexpected eof\", \"param\", param);\n }\n delete parent.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(originalParam.length - 7);\n }\n if (node.indexed) {\n throwError(originalParam.length - 7);\n }\n node.indexed = true;\n node.name = \"\";\n }\n else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n parent.type = verifyType(parent.type);\n return parent;\n}\nfunction populate(object, params) {\n for (let key in params) {\n defineReadOnly(object, key, params[key]);\n }\n}\nexport const FormatTypes = Object.freeze({\n // Bare formatting, as is needed for computing a sighash of an event or function\n sighash: \"sighash\",\n // Human-Readable with Minimal spacing and without names (compact human-readable)\n minimal: \"minimal\",\n // Human-Readble with nice spacing, including all names\n full: \"full\",\n // JSON-format a la Solidity\n json: \"json\"\n});\nconst paramTypeArray = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nexport class ParamType {\n constructor(constructorGuard, params) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use fromString\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new ParamType()\"\n });\n }\n populate(this, params);\n let match = this.type.match(paramTypeArray);\n if (match) {\n populate(this, {\n arrayLength: parseInt(match[2] || \"-1\"),\n arrayChildren: ParamType.fromObject({\n type: match[1],\n components: this.components\n }),\n baseType: \"array\"\n });\n }\n else {\n populate(this, {\n arrayLength: null,\n arrayChildren: null,\n baseType: ((this.components != null) ? \"tuple\" : this.type)\n });\n }\n this._isParamType = true;\n Object.freeze(this);\n }\n // Format the parameter fragment\n // - sighash: \"(uint256,address)\"\n // - minimal: \"tuple(uint256,address) indexed\"\n // - full: \"tuple(uint256 foo, addres bar) indexed baz\"\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n let result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name: (this.name || undefined)\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.components) {\n result.components = this.components.map((comp) => JSON.parse(comp.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.baseType === \"array\") {\n result += this.arrayChildren.format(format);\n result += \"[\" + (this.arrayLength < 0 ? \"\" : String(this.arrayLength)) + \"]\";\n }\n else {\n if (this.baseType === \"tuple\") {\n if (format !== FormatTypes.sighash) {\n result += this.type;\n }\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== FormatTypes.sighash) {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === FormatTypes.full && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n static from(value, allowIndexed) {\n if (typeof (value) === \"string\") {\n return ParamType.fromString(value, allowIndexed);\n }\n return ParamType.fromObject(value);\n }\n static fromObject(value) {\n if (ParamType.isParamType(value)) {\n return value;\n }\n return new ParamType(_constructorGuard, {\n name: (value.name || null),\n type: verifyType(value.type),\n indexed: ((value.indexed == null) ? null : !!value.indexed),\n components: (value.components ? value.components.map(ParamType.fromObject) : null)\n });\n }\n static fromString(value, allowIndexed) {\n function ParamTypify(node) {\n return ParamType.fromObject({\n name: node.name,\n type: node.type,\n indexed: node.indexed,\n components: node.components\n });\n }\n return ParamTypify(parseParamType(value, !!allowIndexed));\n }\n static isParamType(value) {\n return !!(value != null && value._isParamType);\n }\n}\n;\nfunction parseParams(value, allowIndex) {\n return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));\n}\nexport class Fragment {\n constructor(constructorGuard, params) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use a static from method\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Fragment()\"\n });\n }\n populate(this, params);\n this._isFragment = true;\n Object.freeze(this);\n }\n static from(value) {\n if (Fragment.isFragment(value)) {\n return value;\n }\n if (typeof (value) === \"string\") {\n return Fragment.fromString(value);\n }\n return Fragment.fromObject(value);\n }\n static fromObject(value) {\n if (Fragment.isFragment(value)) {\n return value;\n }\n switch (value.type) {\n case \"function\":\n return FunctionFragment.fromObject(value);\n case \"event\":\n return EventFragment.fromObject(value);\n case \"constructor\":\n return ConstructorFragment.fromObject(value);\n case \"fallback\":\n case \"receive\":\n // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?\n return null;\n }\n return logger.throwArgumentError(\"invalid fragment object\", \"value\", value);\n }\n static fromString(value) {\n // Make sure the \"returns\" is surrounded by a space and all whitespace is exactly one space\n value = value.replace(/\\s/g, \" \");\n value = value.replace(/\\(/g, \" (\").replace(/\\)/g, \") \").replace(/\\s+/g, \" \");\n value = value.trim();\n if (value.split(\" \")[0] === \"event\") {\n return EventFragment.fromString(value.substring(5).trim());\n }\n else if (value.split(\" \")[0] === \"function\") {\n return FunctionFragment.fromString(value.substring(8).trim());\n }\n else if (value.split(\"(\")[0].trim() === \"constructor\") {\n return ConstructorFragment.fromString(value.trim());\n }\n return logger.throwArgumentError(\"unsupported fragment\", \"value\", value);\n }\n static isFragment(value) {\n return !!(value && value._isFragment);\n }\n}\nexport class EventFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"event \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (format !== FormatTypes.sighash) {\n if (this.anonymous) {\n result += \"anonymous \";\n }\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return EventFragment.fromString(value);\n }\n return EventFragment.fromObject(value);\n }\n static fromObject(value) {\n if (EventFragment.isEventFragment(value)) {\n return value;\n }\n if (value.type !== \"event\") {\n logger.throwArgumentError(\"invalid event object\", \"value\", value);\n }\n const params = {\n name: verifyIdentifier(value.name),\n anonymous: value.anonymous,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n type: \"event\"\n };\n return new EventFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let match = value.match(regexParen);\n if (!match) {\n logger.throwArgumentError(\"invalid event string\", \"value\", value);\n }\n let anonymous = false;\n match[3].split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"anonymous\":\n anonymous = true;\n break;\n case \"\":\n break;\n default:\n logger.warn(\"unknown modifier: \" + modifier);\n }\n });\n return EventFragment.fromObject({\n name: match[1].trim(),\n anonymous: anonymous,\n inputs: parseParams(match[2], true),\n type: \"event\"\n });\n }\n static isEventFragment(value) {\n return (value && value._isFragment && value.type === \"event\");\n }\n}\nfunction parseGas(value, params) {\n params.gas = null;\n let comps = value.split(\"@\");\n if (comps.length !== 1) {\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid human-readable ABI signature\", \"value\", value);\n }\n if (!comps[1].match(/^[0-9]+$/)) {\n logger.throwArgumentError(\"invalid human-readable ABI signature gas\", \"value\", value);\n }\n params.gas = BigNumber.from(comps[1]);\n return comps[0];\n }\n return value;\n}\nfunction parseModifiers(value, params) {\n params.constant = false;\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n value.split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"constant\":\n params.constant = true;\n break;\n case \"payable\":\n params.payable = true;\n params.stateMutability = \"payable\";\n break;\n case \"nonpayable\":\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n break;\n case \"pure\":\n params.constant = true;\n params.stateMutability = \"pure\";\n break;\n case \"view\":\n params.constant = true;\n params.stateMutability = \"view\";\n break;\n case \"external\":\n case \"public\":\n case \"\":\n break;\n default:\n console.log(\"unknown modifier: \" + modifier);\n }\n });\n}\nfunction verifyState(value) {\n let result = {\n constant: false,\n payable: true,\n stateMutability: \"payable\"\n };\n if (value.stateMutability != null) {\n result.stateMutability = value.stateMutability;\n // Set (and check things are consistent) the constant property\n result.constant = (result.stateMutability === \"view\" || result.stateMutability === \"pure\");\n if (value.constant != null) {\n if ((!!value.constant) !== result.constant) {\n logger.throwArgumentError(\"cannot have constant function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n // Set (and check things are consistent) the payable property\n result.payable = (result.stateMutability === \"payable\");\n if (value.payable != null) {\n if ((!!value.payable) !== result.payable) {\n logger.throwArgumentError(\"cannot have payable function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n }\n else if (value.payable != null) {\n result.payable = !!value.payable;\n // If payable we can assume non-constant; otherwise we can't assume\n if (value.constant == null && !result.payable && value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n result.constant = !!value.constant;\n if (result.constant) {\n result.stateMutability = \"view\";\n }\n else {\n result.stateMutability = (result.payable ? \"payable\" : \"nonpayable\");\n }\n if (result.payable && result.constant) {\n logger.throwArgumentError(\"cannot have constant payable function\", \"value\", value);\n }\n }\n else if (value.constant != null) {\n result.constant = !!value.constant;\n result.payable = !result.constant;\n result.stateMutability = (result.constant ? \"view\" : \"payable\");\n }\n else if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n return result;\n}\nexport class ConstructorFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payble: this.payable,\n gas: (this.gas ? this.gas.toNumber() : undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n if (format === FormatTypes.sighash) {\n logger.throwError(\"cannot format a constructor for sighash\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"format(sighash)\"\n });\n }\n let result = \"constructor(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (this.stateMutability && this.stateMutability !== \"nonpayable\") {\n result += this.stateMutability + \" \";\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return ConstructorFragment.fromString(value);\n }\n return ConstructorFragment.fromObject(value);\n }\n static fromObject(value) {\n if (ConstructorFragment.isConstructorFragment(value)) {\n return value;\n }\n if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor object\", \"value\", value);\n }\n let state = verifyState(value);\n if (state.constant) {\n logger.throwArgumentError(\"constructor cannot be constant\", \"value\", value);\n }\n const params = {\n name: null,\n type: value.type,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas) : null)\n };\n return new ConstructorFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let params = { type: \"constructor\" };\n value = parseGas(value, params);\n let parens = value.match(regexParen);\n if (!parens || parens[1].trim() !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor string\", \"value\", value);\n }\n params.inputs = parseParams(parens[2].trim(), false);\n parseModifiers(parens[3].trim(), params);\n return ConstructorFragment.fromObject(params);\n }\n static isConstructorFragment(value) {\n return (value && value._isFragment && value.type === \"constructor\");\n }\n}\nexport class FunctionFragment extends ConstructorFragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payble: this.payable,\n gas: (this.gas ? this.gas.toNumber() : undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n ouputs: this.outputs.map((output) => JSON.parse(output.format(format))),\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"function \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (format !== FormatTypes.sighash) {\n if (this.stateMutability) {\n if (this.stateMutability !== \"nonpayable\") {\n result += (this.stateMutability + \" \");\n }\n }\n else if (this.constant) {\n result += \"view \";\n }\n if (this.outputs && this.outputs.length) {\n result += \"returns (\" + this.outputs.map((output) => output.format(format)).join(\", \") + \") \";\n }\n if (this.gas != null) {\n result += \"@\" + this.gas.toString() + \" \";\n }\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return FunctionFragment.fromString(value);\n }\n return FunctionFragment.fromObject(value);\n }\n static fromObject(value) {\n if (FunctionFragment.isFunctionFragment(value)) {\n return value;\n }\n if (value.type !== \"function\") {\n logger.throwArgumentError(\"invalid function object\", \"value\", value);\n }\n let state = verifyState(value);\n const params = {\n type: value.type,\n name: verifyIdentifier(value.name),\n constant: state.constant,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas) : null)\n };\n return new FunctionFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let params = { type: \"function\" };\n value = parseGas(value, params);\n let comps = value.split(\" returns \");\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid function string\", \"value\", value);\n }\n let parens = comps[0].match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid function signature\", \"value\", value);\n }\n params.name = parens[1].trim();\n if (params.name) {\n verifyIdentifier(params.name);\n }\n params.inputs = parseParams(parens[2], false);\n parseModifiers(parens[3].trim(), params);\n // We have outputs\n if (comps.length > 1) {\n let returns = comps[1].match(regexParen);\n if (returns[1].trim() != \"\" || returns[3].trim() != \"\") {\n logger.throwArgumentError(\"unexpected tokens\", \"value\", value);\n }\n params.outputs = parseParams(returns[2], false);\n }\n else {\n params.outputs = [];\n }\n return FunctionFragment.fromObject(params);\n }\n static isFunctionFragment(value) {\n return (value && value._isFragment && value.type === \"function\");\n }\n}\n//export class ErrorFragment extends Fragment {\n//}\n//export class StructFragment extends Fragment {\n//}\nfunction verifyType(type) {\n // These need to be transformed to their full description\n if (type.match(/^uint($|[^1-9])/)) {\n type = \"uint256\" + type.substring(4);\n }\n else if (type.match(/^int($|[^1-9])/)) {\n type = \"int256\" + type.substring(3);\n }\n // @TODO: more verification\n return type;\n}\nconst regexIdentifier = new RegExp(\"^[A-Za-z_][A-Za-z0-9_]*$\");\nfunction verifyIdentifier(value) {\n if (!value || !value.match(regexIdentifier)) {\n logger.throwArgumentError(`invalid identifier \"${value}\"`, \"value\", value);\n }\n return value;\n}\nconst regexParen = new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");\nfunction splitNesting(value) {\n value = value.trim();\n let result = [];\n let accum = \"\";\n let depth = 0;\n for (let offset = 0; offset < value.length; offset++) {\n let c = value[offset];\n if (c === \",\" && depth === 0) {\n result.push(accum);\n accum = \"\";\n }\n else {\n accum += c;\n if (c === \"(\") {\n depth++;\n }\n else if (c === \")\") {\n depth--;\n if (depth === -1) {\n logger.throwArgumentError(\"unbalanced parenthesis\", \"value\", value);\n }\n }\n }\n }\n if (accum) {\n result.push(accum);\n }\n return result;\n}\n//# sourceMappingURL=fragments.js.map","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n///////////////////////////////\nexport var UnicodeNormalizationForm;\n(function (UnicodeNormalizationForm) {\n UnicodeNormalizationForm[\"current\"] = \"\";\n UnicodeNormalizationForm[\"NFC\"] = \"NFC\";\n UnicodeNormalizationForm[\"NFD\"] = \"NFD\";\n UnicodeNormalizationForm[\"NFKC\"] = \"NFKC\";\n UnicodeNormalizationForm[\"NFKD\"] = \"NFKD\";\n})(UnicodeNormalizationForm || (UnicodeNormalizationForm = {}));\n;\nexport var Utf8ErrorReason;\n(function (Utf8ErrorReason) {\n // A continuation byte was present where there was nothing to continue\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"UNEXPECTED_CONTINUE\"] = \"unexpected continuation byte\";\n // An invalid (non-continuation) byte to start a UTF-8 codepoint was found\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"BAD_PREFIX\"] = \"bad codepoint prefix\";\n // The string is too short to process the expected codepoint\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"OVERRUN\"] = \"string overrun\";\n // A missing continuation byte was expected but not found\n // - offset = the index the continuation byte was expected at\n Utf8ErrorReason[\"MISSING_CONTINUE\"] = \"missing continuation byte\";\n // The computed code point is outside the range for UTF-8\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; outside the UTF-8 range\n Utf8ErrorReason[\"OUT_OF_RANGE\"] = \"out of UTF-8 range\";\n // UTF-8 strings may not contain UTF-16 surrogate pairs\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range\n Utf8ErrorReason[\"UTF16_SURROGATE\"] = \"UTF-16 surrogate\";\n // The string is an overlong reperesentation\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; already bounds checked\n Utf8ErrorReason[\"OVERLONG\"] = \"overlong representation\";\n})(Utf8ErrorReason || (Utf8ErrorReason = {}));\n;\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n return logger.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === Utf8ErrorReason.OVERRUN) {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === Utf8ErrorReason.OVERLONG) {\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n// Common error handing strategies\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n bytes = arrayify(bytes);\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result);\n }\n else {\n i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid contimuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\nexport function toUtf8Bytes(str, form = UnicodeNormalizationForm.current) {\n if (form != UnicodeNormalizationForm.current) {\n logger.checkNormalize();\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {\n throw new Error(\"invalid utf-8 string\");\n }\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return arrayify(result);\n}\n;\nfunction escapeChar(value) {\n const hex = (\"0000\" + value.toString(16));\n return \"\\\\u\" + hex.substring(hex.length - 4);\n}\nexport function _toEscapedUtf8String(bytes, onError) {\n return '\"' + getUtf8CodePoints(bytes, onError).map((codePoint) => {\n if (codePoint < 256) {\n switch (codePoint) {\n case 8: return \"\\\\b\";\n case 9: return \"\\\\t\";\n case 10: return \"\\\\n\";\n case 13: return \"\\\\r\";\n case 34: return \"\\\\\\\"\";\n case 92: return \"\\\\\\\\\";\n }\n if (codePoint >= 32 && codePoint < 127) {\n return String.fromCharCode(codePoint);\n }\n }\n if (codePoint <= 0xffff) {\n return escapeChar(codePoint);\n }\n codePoint -= 0x10000;\n return escapeChar(((codePoint >> 10) & 0x3ff) + 0xd800) + escapeChar((codePoint & 0x3ff) + 0xdc00);\n }).join(\"\") + '\"';\n}\nexport function _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\nexport function toUtf8CodePoints(str, form = UnicodeNormalizationForm.current) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map","/**\n * Multihash implementation in JavaScript.\n *\n * @module multihash\n */\n'use strict'\n\nconst { Buffer } = require('buffer')\nconst multibase = require('multibase')\nconst varint = require('varint')\nconst cs = require('./constants')\n\nexports.names = cs.names\nexports.codes = cs.codes\nexports.defaultLengths = cs.defaultLengths\n\n/**\n * Convert the given multihash to a hex encoded string.\n *\n * @param {Buffer} hash\n * @returns {string}\n */\nexports.toHexString = function toHexString (hash) {\n if (!Buffer.isBuffer(hash)) {\n throw new Error('must be passed a buffer')\n }\n\n return hash.toString('hex')\n}\n\n/**\n * Convert the given hex encoded string to a multihash.\n *\n * @param {string} hash\n * @returns {Buffer}\n */\nexports.fromHexString = function fromHexString (hash) {\n return Buffer.from(hash, 'hex')\n}\n\n/**\n * Convert the given multihash to a base58 encoded string.\n *\n * @param {Buffer} hash\n * @returns {string}\n */\nexports.toB58String = function toB58String (hash) {\n if (!Buffer.isBuffer(hash)) {\n throw new Error('must be passed a buffer')\n }\n\n return multibase.encode('base58btc', hash).toString().slice(1)\n}\n\n/**\n * Convert the given base58 encoded string to a multihash.\n *\n * @param {string|Buffer} hash\n * @returns {Buffer}\n */\nexports.fromB58String = function fromB58String (hash) {\n let encoded = hash\n if (Buffer.isBuffer(hash)) {\n encoded = hash.toString()\n }\n\n return multibase.decode('z' + encoded)\n}\n\n/**\n * Decode a hash from the given multihash.\n *\n * @param {Buffer} buf\n * @returns {{code: number, name: string, length: number, digest: Buffer}} result\n */\nexports.decode = function decode (buf) {\n if (!(Buffer.isBuffer(buf))) {\n throw new Error('multihash must be a Buffer')\n }\n\n if (buf.length < 2) {\n throw new Error('multihash too short. must be > 2 bytes.')\n }\n\n const code = varint.decode(buf)\n if (!exports.isValidCode(code)) {\n throw new Error(`multihash unknown function code: 0x${code.toString(16)}`)\n }\n buf = buf.slice(varint.decode.bytes)\n\n const len = varint.decode(buf)\n if (len < 0) {\n throw new Error(`multihash invalid length: ${len}`)\n }\n buf = buf.slice(varint.decode.bytes)\n\n if (buf.length !== len) {\n throw new Error(`multihash length inconsistent: 0x${buf.toString('hex')}`)\n }\n\n return {\n code: code,\n name: cs.codes[code],\n length: len,\n digest: buf\n }\n}\n\n/**\n * Encode a hash digest along with the specified function code.\n *\n * > **Note:** the length is derived from the length of the digest itself.\n *\n * @param {Buffer} digest\n * @param {string|number} code\n * @param {number} [length]\n * @returns {Buffer}\n */\nexports.encode = function encode (digest, code, length) {\n if (!digest || code === undefined) {\n throw new Error('multihash encode requires at least two args: digest, code')\n }\n\n // ensure it's a hashfunction code.\n const hashfn = exports.coerceCode(code)\n\n if (!(Buffer.isBuffer(digest))) {\n throw new Error('digest should be a Buffer')\n }\n\n if (length == null) {\n length = digest.length\n }\n\n if (length && digest.length !== length) {\n throw new Error('digest length should be equal to specified length.')\n }\n\n return Buffer.concat([\n Buffer.from(varint.encode(hashfn)),\n Buffer.from(varint.encode(length)),\n digest\n ])\n}\n\n/**\n * Converts a hash function name into the matching code.\n * If passed a number it will return the number if it's a valid code.\n * @param {string|number} name\n * @returns {number}\n */\nexports.coerceCode = function coerceCode (name) {\n let code = name\n\n if (typeof name === 'string') {\n if (cs.names[name] === undefined) {\n throw new Error(`Unrecognized hash function named: ${name}`)\n }\n code = cs.names[name]\n }\n\n if (typeof code !== 'number') {\n throw new Error(`Hash function code should be a number. Got: ${code}`)\n }\n\n if (cs.codes[code] === undefined && !exports.isAppCode(code)) {\n throw new Error(`Unrecognized function code: ${code}`)\n }\n\n return code\n}\n\n/**\n * Checks wether a code is part of the app range\n *\n * @param {number} code\n * @returns {boolean}\n */\nexports.isAppCode = function appCode (code) {\n return code > 0 && code < 0x10\n}\n\n/**\n * Checks whether a multihash code is valid.\n *\n * @param {number} code\n * @returns {boolean}\n */\nexports.isValidCode = function validCode (code) {\n if (exports.isAppCode(code)) {\n return true\n }\n\n if (cs.codes[code]) {\n return true\n }\n\n return false\n}\n\n/**\n * Check if the given buffer is a valid multihash. Throws an error if it is not valid.\n *\n * @param {Buffer} multihash\n * @returns {undefined}\n * @throws {Error}\n */\nfunction validate (multihash) {\n exports.decode(multihash) // throws if bad.\n}\nexports.validate = validate\n\n/**\n * Returns a prefix from a valid multihash. Throws an error if it is not valid.\n *\n * @param {Buffer} multihash\n * @returns {undefined}\n * @throws {Error}\n */\nexports.prefix = function prefix (multihash) {\n validate(multihash)\n\n return multihash.slice(0, 2)\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseTransaction = void 0;\nvar common_1 = __importDefault(require(\"@ethereumjs/common\"));\nvar ethereumjs_util_1 = require(\"ethereumjs-util\");\nvar types_1 = require(\"./types\");\n/**\n * This base class will likely be subject to further\n * refactoring along the introduction of additional tx types\n * on the Ethereum network.\n *\n * It is therefore not recommended to use directly.\n */\nvar BaseTransaction = /** @class */ (function () {\n function BaseTransaction(txData) {\n /**\n * List of tx type defining EIPs,\n * e.g. 1559 (fee market) and 2930 (access lists)\n * for FeeMarketEIP1559Transaction objects\n */\n this.activeCapabilities = [];\n /**\n * The default chain the tx falls back to if no Common\n * is provided and if the chain can't be derived from\n * a passed in chainId (only EIP-2718 typed txs) or\n * EIP-155 signature (legacy txs).\n *\n * @hidden\n */\n this.DEFAULT_CHAIN = 'mainnet';\n /**\n * The default HF if the tx type is active on that HF\n * or the first greater HF where the tx is active.\n *\n * @hidden\n */\n this.DEFAULT_HARDFORK = 'istanbul';\n var nonce = txData.nonce, gasLimit = txData.gasLimit, to = txData.to, value = txData.value, data = txData.data, v = txData.v, r = txData.r, s = txData.s, type = txData.type;\n this._type = new ethereumjs_util_1.BN(ethereumjs_util_1.toBuffer(type)).toNumber();\n var toB = ethereumjs_util_1.toBuffer(to === '' ? '0x' : to);\n var vB = ethereumjs_util_1.toBuffer(v === '' ? '0x' : v);\n var rB = ethereumjs_util_1.toBuffer(r === '' ? '0x' : r);\n var sB = ethereumjs_util_1.toBuffer(s === '' ? '0x' : s);\n this.nonce = new ethereumjs_util_1.BN(ethereumjs_util_1.toBuffer(nonce === '' ? '0x' : nonce));\n this.gasLimit = new ethereumjs_util_1.BN(ethereumjs_util_1.toBuffer(gasLimit === '' ? '0x' : gasLimit));\n this.to = toB.length > 0 ? new ethereumjs_util_1.Address(toB) : undefined;\n this.value = new ethereumjs_util_1.BN(ethereumjs_util_1.toBuffer(value === '' ? '0x' : value));\n this.data = ethereumjs_util_1.toBuffer(data === '' ? '0x' : data);\n this.v = vB.length > 0 ? new ethereumjs_util_1.BN(vB) : undefined;\n this.r = rB.length > 0 ? new ethereumjs_util_1.BN(rB) : undefined;\n this.s = sB.length > 0 ? new ethereumjs_util_1.BN(sB) : undefined;\n this._validateCannotExceedMaxInteger({\n nonce: this.nonce,\n gasLimit: this.gasLimit,\n value: this.value,\n r: this.r,\n s: this.s,\n });\n }\n Object.defineProperty(BaseTransaction.prototype, \"transactionType\", {\n /**\n * Alias for {@link BaseTransaction.type}\n *\n * @deprecated Use `type` instead\n */\n get: function () {\n return this.type;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseTransaction.prototype, \"type\", {\n /**\n * Returns the transaction type.\n *\n * Note: legacy txs will return tx type `0`.\n */\n get: function () {\n return this._type;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Checks if a tx type defining capability is active\n * on a tx, for example the EIP-1559 fee market mechanism\n * or the EIP-2930 access list feature.\n *\n * Note that this is different from the tx type itself,\n * so EIP-2930 access lists can very well be active\n * on an EIP-1559 tx for example.\n *\n * This method can be useful for feature checks if the\n * tx type is unknown (e.g. when instantiated with\n * the tx factory).\n *\n * See `Capabilites` in the `types` module for a reference\n * on all supported capabilities.\n */\n BaseTransaction.prototype.supports = function (capability) {\n return this.activeCapabilities.includes(capability);\n };\n BaseTransaction.prototype.validate = function (stringError) {\n if (stringError === void 0) { stringError = false; }\n var errors = [];\n if (this.getBaseFee().gt(this.gasLimit)) {\n errors.push(\"gasLimit is too low. given \" + this.gasLimit + \", need at least \" + this.getBaseFee());\n }\n if (this.isSigned() && !this.verifySignature()) {\n errors.push('Invalid Signature');\n }\n return stringError ? errors : errors.length === 0;\n };\n /**\n * The minimum amount of gas the tx must have (DataFee + TxFee + Creation Fee)\n */\n BaseTransaction.prototype.getBaseFee = function () {\n var fee = this.getDataFee().addn(this.common.param('gasPrices', 'tx'));\n if (this.common.gteHardfork('homestead') && this.toCreationAddress()) {\n fee.iaddn(this.common.param('gasPrices', 'txCreation'));\n }\n return fee;\n };\n /**\n * The amount of gas paid for the data in this tx\n */\n BaseTransaction.prototype.getDataFee = function () {\n var txDataZero = this.common.param('gasPrices', 'txDataZero');\n var txDataNonZero = this.common.param('gasPrices', 'txDataNonZero');\n var cost = 0;\n for (var i = 0; i < this.data.length; i++) {\n this.data[i] === 0 ? (cost += txDataZero) : (cost += txDataNonZero);\n }\n return new ethereumjs_util_1.BN(cost);\n };\n /**\n * If the tx's `to` is to the creation address\n */\n BaseTransaction.prototype.toCreationAddress = function () {\n return this.to === undefined || this.to.buf.length === 0;\n };\n BaseTransaction.prototype.isSigned = function () {\n var _a = this, v = _a.v, r = _a.r, s = _a.s;\n if (this.type === 0) {\n if (!v || !r || !s) {\n return false;\n }\n else {\n return true;\n }\n }\n else {\n if (v === undefined || !r || !s) {\n return false;\n }\n else {\n return true;\n }\n }\n };\n /**\n * Determines if the signature is valid\n */\n BaseTransaction.prototype.verifySignature = function () {\n try {\n // Main signature verification is done in `getSenderPublicKey()`\n var publicKey = this.getSenderPublicKey();\n return ethereumjs_util_1.unpadBuffer(publicKey).length !== 0;\n }\n catch (e) {\n return false;\n }\n };\n /**\n * Returns the sender's address\n */\n BaseTransaction.prototype.getSenderAddress = function () {\n return new ethereumjs_util_1.Address(ethereumjs_util_1.publicToAddress(this.getSenderPublicKey()));\n };\n /**\n * Signs a transaction.\n *\n * Note that the signed tx is returned as a new object,\n * use as follows:\n * ```javascript\n * const signedTx = tx.sign(privateKey)\n * ```\n */\n BaseTransaction.prototype.sign = function (privateKey) {\n if (privateKey.length !== 32) {\n throw new Error('Private key must be 32 bytes in length.');\n }\n // Hack for the constellation that we have got a legacy tx after spuriousDragon with a non-EIP155 conforming signature\n // and want to recreate a signature (where EIP155 should be applied)\n // Leaving this hack lets the legacy.spec.ts -> sign(), verifySignature() test fail\n // 2021-06-23\n var hackApplied = false;\n if (this.type === 0 &&\n this.common.gteHardfork('spuriousDragon') &&\n !this.supports(types_1.Capability.EIP155ReplayProtection)) {\n this.activeCapabilities.push(types_1.Capability.EIP155ReplayProtection);\n hackApplied = true;\n }\n var msgHash = this.getMessageToSign(true);\n var _a = ethereumjs_util_1.ecsign(msgHash, privateKey), v = _a.v, r = _a.r, s = _a.s;\n var tx = this._processSignature(v, r, s);\n // Hack part 2\n if (hackApplied) {\n var index = this.activeCapabilities.indexOf(types_1.Capability.EIP155ReplayProtection);\n if (index > -1) {\n this.activeCapabilities.splice(index, 1);\n }\n }\n return tx;\n };\n /**\n * Does chain ID checks on common and returns a common\n * to be used on instantiation\n * @hidden\n *\n * @param common - {@link Common} instance from tx options\n * @param chainId - Chain ID from tx options (typed txs) or signature (legacy tx)\n */\n BaseTransaction.prototype._getCommon = function (common, chainId) {\n var _a;\n // Chain ID provided\n if (chainId) {\n var chainIdBN = new ethereumjs_util_1.BN(ethereumjs_util_1.toBuffer(chainId));\n if (common) {\n if (!common.chainIdBN().eq(chainIdBN)) {\n throw new Error('The chain ID does not match the chain ID of Common');\n }\n // Common provided, chain ID does match\n // -> Return provided Common\n return common.copy();\n }\n else {\n if (common_1.default.isSupportedChainId(chainIdBN)) {\n // No Common, chain ID supported by Common\n // -> Instantiate Common with chain ID\n return new common_1.default({ chain: chainIdBN, hardfork: this.DEFAULT_HARDFORK });\n }\n else {\n // No Common, chain ID not supported by Common\n // -> Instantiate custom Common derived from DEFAULT_CHAIN\n return common_1.default.forCustomChain(this.DEFAULT_CHAIN, {\n name: 'custom-chain',\n networkId: chainIdBN,\n chainId: chainIdBN,\n }, this.DEFAULT_HARDFORK);\n }\n }\n }\n else {\n // No chain ID provided\n // -> return Common provided or create new default Common\n return ((_a = common === null || common === void 0 ? void 0 : common.copy()) !== null && _a !== void 0 ? _a : new common_1.default({ chain: this.DEFAULT_CHAIN, hardfork: this.DEFAULT_HARDFORK }));\n }\n };\n BaseTransaction.prototype._validateCannotExceedMaxInteger = function (values, bits) {\n var e_1, _a;\n if (bits === void 0) { bits = 53; }\n try {\n for (var _b = __values(Object.entries(values)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\n if (bits === 53) {\n if (value === null || value === void 0 ? void 0 : value.gt(ethereumjs_util_1.MAX_INTEGER)) {\n throw new Error(key + \" cannot exceed MAX_INTEGER, given \" + value);\n }\n }\n else if (bits === 256) {\n if (value === null || value === void 0 ? void 0 : value.gte(ethereumjs_util_1.TWO_POW256)) {\n throw new Error(key + \" must be less than 2^256, given \" + value);\n }\n }\n else {\n throw new Error('unimplemented bits value');\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n return BaseTransaction;\n}());\nexports.BaseTransaction = BaseTransaction;\n//# sourceMappingURL=baseTransaction.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var BN = require('bn.js');\nvar stripHexPrefix = require('strip-hex-prefix');\n\n/**\n * Returns a BN object, converts a number value to a BN\n * @param {String|Number|Object} `arg` input a string number, hex string number, number, BigNumber or BN object\n * @return {Object} `output` BN object of the number\n * @throws if the argument is not an array, object that isn't a bignumber, not a string number or number\n */\nmodule.exports = function numberToBN(arg) {\n if (typeof arg === 'string' || typeof arg === 'number') {\n var multiplier = new BN(1); // eslint-disable-line\n var formattedString = String(arg).toLowerCase().trim();\n var isHexPrefixed = formattedString.substr(0, 2) === '0x' || formattedString.substr(0, 3) === '-0x';\n var stringArg = stripHexPrefix(formattedString); // eslint-disable-line\n if (stringArg.substr(0, 1) === '-') {\n stringArg = stripHexPrefix(stringArg.slice(1));\n multiplier = new BN(-1, 10);\n }\n stringArg = stringArg === '' ? '0' : stringArg;\n\n if ((!stringArg.match(/^-?[0-9]+$/) && stringArg.match(/^[0-9A-Fa-f]+$/))\n || stringArg.match(/^[a-fA-F]+$/)\n || (isHexPrefixed === true && stringArg.match(/^[0-9A-Fa-f]+$/))) {\n return new BN(stringArg, 16).mul(multiplier);\n }\n\n if ((stringArg.match(/^-?[0-9]+$/) || stringArg === '') && isHexPrefixed === false) {\n return new BN(stringArg, 10).mul(multiplier);\n }\n } else if (typeof arg === 'object' && arg.toString && (!arg.pop && !arg.push)) {\n if (arg.toString(10).match(/^-?[0-9]+$/) && (arg.mul || arg.dividedToIntegerBy)) {\n return new BN(arg.toString(10), 10);\n }\n }\n\n throw new Error('[number-to-bn] while converting number ' + JSON.stringify(arg) + ' to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.');\n}\n","var isHexPrefixed = require('is-hex-prefixed');\n\n/**\n * Removes '0x' from a given `String` is present\n * @param {String} str the string value\n * @return {String|Optional} a string by pass if necessary\n */\nmodule.exports = function stripHexPrefix(str) {\n if (typeof str !== 'string') {\n return str;\n }\n\n return isHexPrefixed(str) ? str.slice(2) : str;\n}\n","/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param {String} str the string input value\n * @return {Boolean} a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nmodule.exports = function isHexPrefixed(str) {\n if (typeof str !== 'string') {\n throw new Error(\"[is-hex-prefixed] value must be type 'string', is currently type \" + (typeof str) + \", while checking isHexPrefixed.\");\n }\n\n return str.slice(0, 2) === '0x';\n}\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file utils.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\nvar BN = require('bn.js');\nvar numberToBN = require('number-to-bn');\nvar utf8 = require('utf8');\nvar Hash = require(\"eth-lib/lib/hash\");\nvar ethereumBloomFilters = require('ethereum-bloom-filters');\n/**\n * Returns true if object is BN, otherwise false\n *\n * @method isBN\n * @param {Object} object\n * @return {Boolean}\n */\nvar isBN = function (object) {\n return BN.isBN(object);\n};\n/**\n * Returns true if object is BigNumber, otherwise false\n *\n * @method isBigNumber\n * @param {Object} object\n * @return {Boolean}\n */\nvar isBigNumber = function (object) {\n return object && object.constructor && object.constructor.name === 'BigNumber';\n};\n/**\n * Takes an input and transforms it into an BN\n *\n * @method toBN\n * @param {Number|String|BN} number, string, HEX string or BN\n * @return {BN} BN\n */\nvar toBN = function (number) {\n try {\n return numberToBN.apply(null, arguments);\n }\n catch (e) {\n throw new Error(e + ' Given value: \"' + number + '\"');\n }\n};\n/**\n * Takes and input transforms it into BN and if it is negative value, into two's complement\n *\n * @method toTwosComplement\n * @param {Number|String|BN} number\n * @return {String}\n */\nvar toTwosComplement = function (number) {\n return '0x' + toBN(number).toTwos(256).toString(16, 64);\n};\n/**\n * Checks if the given string is an address\n *\n * @method isAddress\n * @param {String} address the given HEX address\n * @return {Boolean}\n */\nvar isAddress = function (address) {\n // check if it has the basic requirements of an address\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) {\n return false;\n // If it's ALL lowercase or ALL upppercase\n }\n else if (/^(0x|0X)?[0-9a-f]{40}$/.test(address) || /^(0x|0X)?[0-9A-F]{40}$/.test(address)) {\n return true;\n // Otherwise check each case\n }\n else {\n return checkAddressChecksum(address);\n }\n};\n/**\n * Checks if the given string is a checksummed address\n *\n * @method checkAddressChecksum\n * @param {String} address the given HEX address\n * @return {Boolean}\n */\nvar checkAddressChecksum = function (address) {\n // Check each case\n address = address.replace(/^0x/i, '');\n var addressHash = sha3(address.toLowerCase()).replace(/^0x/i, '');\n for (var i = 0; i < 40; i++) {\n // the nth letter should be uppercase if the nth digit of casemap is 1\n if ((parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i]) || (parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i])) {\n return false;\n }\n }\n return true;\n};\n/**\n * Should be called to pad string to expected length\n *\n * @method leftPad\n * @param {String} string to be padded\n * @param {Number} chars that result string should have\n * @param {String} sign, by default 0\n * @returns {String} right aligned string\n */\nvar leftPad = function (string, chars, sign) {\n var hasPrefix = /^0x/i.test(string) || typeof string === 'number';\n string = string.toString(16).replace(/^0x/i, '');\n var padding = (chars - string.length + 1 >= 0) ? chars - string.length + 1 : 0;\n return (hasPrefix ? '0x' : '') + new Array(padding).join(sign ? sign : \"0\") + string;\n};\n/**\n * Should be called to pad string to expected length\n *\n * @method rightPad\n * @param {String} string to be padded\n * @param {Number} chars that result string should have\n * @param {String} sign, by default 0\n * @returns {String} right aligned string\n */\nvar rightPad = function (string, chars, sign) {\n var hasPrefix = /^0x/i.test(string) || typeof string === 'number';\n string = string.toString(16).replace(/^0x/i, '');\n var padding = (chars - string.length + 1 >= 0) ? chars - string.length + 1 : 0;\n return (hasPrefix ? '0x' : '') + string + (new Array(padding).join(sign ? sign : \"0\"));\n};\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @method utf8ToHex\n * @param {String} str\n * @returns {String} hex representation of input string\n */\nvar utf8ToHex = function (str) {\n str = utf8.encode(str);\n var hex = \"\";\n // remove \\u0000 padding from either side\n str = str.replace(/^(?:\\u0000)*/, '');\n str = str.split(\"\").reverse().join(\"\");\n str = str.replace(/^(?:\\u0000)*/, '');\n str = str.split(\"\").reverse().join(\"\");\n for (var i = 0; i < str.length; i++) {\n var code = str.charCodeAt(i);\n // if (code !== 0) {\n var n = code.toString(16);\n hex += n.length < 2 ? '0' + n : n;\n // }\n }\n return \"0x\" + hex;\n};\n/**\n * Should be called to get utf8 from it's hex representation\n *\n * @method hexToUtf8\n * @param {String} hex\n * @returns {String} ascii string representation of hex value\n */\nvar hexToUtf8 = function (hex) {\n if (!isHexStrict(hex))\n throw new Error('The parameter \"' + hex + '\" must be a valid HEX string.');\n var str = \"\";\n var code = 0;\n hex = hex.replace(/^0x/i, '');\n // remove 00 padding from either side\n hex = hex.replace(/^(?:00)*/, '');\n hex = hex.split(\"\").reverse().join(\"\");\n hex = hex.replace(/^(?:00)*/, '');\n hex = hex.split(\"\").reverse().join(\"\");\n var l = hex.length;\n for (var i = 0; i < l; i += 2) {\n code = parseInt(hex.substr(i, 2), 16);\n // if (code !== 0) {\n str += String.fromCharCode(code);\n // }\n }\n return utf8.decode(str);\n};\n/**\n * Converts value to it's number representation\n *\n * @method hexToNumber\n * @param {String|Number|BN} value\n * @return {String}\n */\nvar hexToNumber = function (value) {\n if (!value) {\n return value;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n throw new Error('Given value \"' + value + '\" is not a valid hex string.');\n }\n return toBN(value).toNumber();\n};\n/**\n * Converts value to it's decimal representation in string\n *\n * @method hexToNumberString\n * @param {String|Number|BN} value\n * @return {String}\n */\nvar hexToNumberString = function (value) {\n if (!value)\n return value;\n if (typeof value === 'string' && !isHexStrict(value)) {\n throw new Error('Given value \"' + value + '\" is not a valid hex string.');\n }\n return toBN(value).toString(10);\n};\n/**\n * Converts value to it's hex representation\n *\n * @method numberToHex\n * @param {String|Number|BN} value\n * @return {String}\n */\nvar numberToHex = function (value) {\n if ((value === null || value === undefined)) {\n return value;\n }\n if (!isFinite(value) && !isHexStrict(value)) {\n throw new Error('Given input \"' + value + '\" is not a number.');\n }\n var number = toBN(value);\n var result = number.toString(16);\n return number.lt(new BN(0)) ? '-0x' + result.substr(1) : '0x' + result;\n};\n/**\n * Convert a byte array to a hex string\n *\n * Note: Implementation from crypto-js\n *\n * @method bytesToHex\n * @param {Array} bytes\n * @return {String} the hex string\n */\nvar bytesToHex = function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n /* jshint ignore:start */\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n /* jshint ignore:end */\n }\n return '0x' + hex.join(\"\");\n};\n/**\n * Convert a hex string to a byte array\n *\n * Note: Implementation from crypto-js\n *\n * @method hexToBytes\n * @param {string} hex\n * @return {Array} the byte array\n */\nvar hexToBytes = function (hex) {\n hex = hex.toString(16);\n if (!isHexStrict(hex)) {\n throw new Error('Given value \"' + hex + '\" is not a valid hex string.');\n }\n hex = hex.replace(/^0x/i, '');\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n};\n/**\n * Auto converts any given value into it's hex representation.\n *\n * And even stringifys objects before.\n *\n * @method toHex\n * @param {String|Number|BN|Object|Buffer} value\n * @param {Boolean} returnType\n * @return {String}\n */\nvar toHex = function (value, returnType) {\n /*jshint maxcomplexity: false */\n if (isAddress(value)) {\n return returnType ? 'address' : '0x' + value.toLowerCase().replace(/^0x/i, '');\n }\n if (typeof value === 'boolean') {\n return returnType ? 'bool' : value ? '0x01' : '0x00';\n }\n if (Buffer.isBuffer(value)) {\n return '0x' + value.toString('hex');\n }\n if (typeof value === 'object' && !!value && !isBigNumber(value) && !isBN(value)) {\n return returnType ? 'string' : utf8ToHex(JSON.stringify(value));\n }\n // if its a negative number, pass it through numberToHex\n if (typeof value === 'string') {\n if (value.indexOf('-0x') === 0 || value.indexOf('-0X') === 0) {\n return returnType ? 'int256' : numberToHex(value);\n }\n else if (value.indexOf('0x') === 0 || value.indexOf('0X') === 0) {\n return returnType ? 'bytes' : value;\n }\n else if (!isFinite(value)) {\n return returnType ? 'string' : utf8ToHex(value);\n }\n }\n return returnType ? (value < 0 ? 'int256' : 'uint256') : numberToHex(value);\n};\n/**\n * Check if string is HEX, requires a 0x in front\n *\n * @method isHexStrict\n * @param {String} hex to be checked\n * @returns {Boolean}\n */\nvar isHexStrict = function (hex) {\n return ((typeof hex === 'string' || typeof hex === 'number') && /^(-)?0x[0-9a-f]*$/i.test(hex));\n};\n/**\n * Check if string is HEX\n *\n * @method isHex\n * @param {String} hex to be checked\n * @returns {Boolean}\n */\nvar isHex = function (hex) {\n return ((typeof hex === 'string' || typeof hex === 'number') && /^(-0x|0x)?[0-9a-f]*$/i.test(hex));\n};\n/**\n * Remove 0x prefix from string\n *\n * @method stripHexPrefix\n * @param {String} str to be checked\n * @returns {String}\n */\nvar stripHexPrefix = function (str) {\n if (str !== 0 && isHex(str))\n return str.replace(/^(-)?0x/i, '$1');\n return str;\n};\n/**\n * Returns true if given string is a valid Ethereum block header bloom.\n *\n * @method isBloom\n * @param {String} bloom encoded bloom filter\n * @return {Boolean}\n */\nvar isBloom = function (bloom) {\n return ethereumBloomFilters.isBloom(bloom);\n};\n/**\n * Returns true if the ethereum users address is part of the given bloom\n * note: false positives are possible.\n *\n * @method isUserEthereumAddressInBloom\n * @param {String} ethereumAddress encoded bloom filter\n * @param {String} bloom ethereum addresss\n * @return {Boolean}\n */\nvar isUserEthereumAddressInBloom = function (bloom, ethereumAddress) {\n return ethereumBloomFilters.isUserEthereumAddressInBloom(bloom, ethereumAddress);\n};\n/**\n * Returns true if the contract address is part of the given bloom\n * note: false positives are possible.\n *\n * @method isUserEthereumAddressInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String} contractAddress contract addresss\n * @return {Boolean}\n */\nvar isContractAddressInBloom = function (bloom, contractAddress) {\n return ethereumBloomFilters.isContractAddressInBloom(bloom, contractAddress);\n};\n/**\n * Returns true if given string is a valid log topic.\n *\n * @method isTopic\n * @param {String} topic encoded topic\n * @return {Boolean}\n */\nvar isTopic = function (topic) {\n return ethereumBloomFilters.isTopic(topic);\n};\n/**\n * Returns true if the topic is part of the given bloom\n * note: false positives are possible.\n *\n * @method isTopicInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String} topic encoded topic\n * @return {Boolean}\n */\nvar isTopicInBloom = function (bloom, topic) {\n return ethereumBloomFilters.isTopicInBloom(bloom, topic);\n};\n/**\n * Returns true if the value is part of the given bloom\n * note: false positives are possible.\n *\n * @method isInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String | Uint8Array} topic encoded value\n * @return {Boolean}\n */\nvar isInBloom = function (bloom, topic) {\n return ethereumBloomFilters.isInBloom(bloom, topic);\n};\n/**\n * Hashes values to a sha3 hash using keccak 256\n *\n * To hash a HEX string the hex must have 0x in front.\n *\n * @method sha3\n * @return {String} the sha3 string\n */\nvar SHA3_NULL_S = '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470';\nvar sha3 = function (value) {\n if (isBN(value)) {\n value = value.toString();\n }\n if (isHexStrict(value) && /^0x/i.test((value).toString())) {\n value = hexToBytes(value);\n }\n var returnValue = Hash.keccak256(value); // jshint ignore:line\n if (returnValue === SHA3_NULL_S) {\n return null;\n }\n else {\n return returnValue;\n }\n};\n// expose the under the hood keccak256\nsha3._Hash = Hash;\n/**\n * @method sha3Raw\n *\n * @param value\n *\n * @returns {string}\n */\nvar sha3Raw = function (value) {\n value = sha3(value);\n if (value === null) {\n return SHA3_NULL_S;\n }\n return value;\n};\n/**\n * Auto converts any given value into it's hex representation,\n * then converts hex to number.\n *\n * @method toNumber\n * @param {String|Number|BN} value\n * @return {Number}\n */\nvar toNumber = function (value) {\n return typeof value === 'number' ? value : hexToNumber(toHex(value));\n};\nmodule.exports = {\n BN: BN,\n isBN: isBN,\n isBigNumber: isBigNumber,\n toBN: toBN,\n isAddress: isAddress,\n isBloom: isBloom,\n isUserEthereumAddressInBloom: isUserEthereumAddressInBloom,\n isContractAddressInBloom: isContractAddressInBloom,\n isTopic: isTopic,\n isTopicInBloom: isTopicInBloom,\n isInBloom: isInBloom,\n checkAddressChecksum: checkAddressChecksum,\n utf8ToHex: utf8ToHex,\n hexToUtf8: hexToUtf8,\n hexToNumber: hexToNumber,\n hexToNumberString: hexToNumberString,\n numberToHex: numberToHex,\n toHex: toHex,\n hexToBytes: hexToBytes,\n bytesToHex: bytesToHex,\n isHex: isHex,\n isHexStrict: isHexStrict,\n stripHexPrefix: stripHexPrefix,\n leftPad: leftPad,\n rightPad: rightPad,\n toTwosComplement: toTwosComplement,\n sha3: sha3,\n sha3Raw: sha3Raw,\n toNumber: toNumber\n};\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file iban.js\n *\n * Details: https://github.com/ethereum/wiki/wiki/ICAP:-Inter-exchange-Client-Address-Protocol\n *\n * @author Marek Kotewicz \n * @date 2015\n */\n\"use strict\";\nconst utils = require('web3-utils');\nconst BigNumber = require('bn.js');\nconst leftPad = function (string, bytes) {\n let result = string;\n while (result.length < bytes * 2) {\n result = '0' + result;\n }\n return result;\n};\n/**\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\n *\n * @method iso13616Prepare\n * @param {String} iban the IBAN\n * @returns {String} the prepared IBAN\n */\nconst iso13616Prepare = function (iban) {\n const A = 'A'.charCodeAt(0);\n const Z = 'Z'.charCodeAt(0);\n iban = iban.toUpperCase();\n iban = iban.substr(4) + iban.substr(0, 4);\n return iban.split('').map(function (n) {\n const code = n.charCodeAt(0);\n if (code >= A && code <= Z) {\n // A = 10, B = 11, ... Z = 35\n return code - A + 10;\n }\n else {\n return n;\n }\n }).join('');\n};\n/**\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\n *\n * @method mod9710\n * @param {String} iban\n * @returns {Number}\n */\nconst mod9710 = function (iban) {\n let remainder = iban;\n let block;\n while (remainder.length > 2) {\n block = remainder.slice(0, 9);\n remainder = parseInt(block, 10) % 97 + remainder.slice(block.length);\n }\n return parseInt(remainder, 10) % 97;\n};\n/**\n * This prototype should be used to create iban object from iban correct string\n *\n * @param {String} iban\n */\nclass Iban {\n constructor(iban) {\n this._iban = iban;\n }\n /**\n * This method should be used to create an ethereum address from a direct iban address\n *\n * @method toAddress\n * @param {String} iban address\n * @return {String} the ethereum address\n */\n static toAddress(ib) {\n ib = new Iban(ib);\n if (!ib.isDirect()) {\n throw new Error('IBAN is indirect and can\\'t be converted');\n }\n return ib.toAddress();\n }\n /**\n * This method should be used to create iban address from an ethereum address\n *\n * @method toIban\n * @param {String} address\n * @return {String} the IBAN address\n */\n static toIban(address) {\n return Iban.fromAddress(address).toString();\n }\n /**\n * This method should be used to create iban object from an ethereum address\n *\n * @method fromAddress\n * @param {String} address\n * @return {Iban} the IBAN object\n */\n static fromAddress(address) {\n if (!utils.isAddress(address)) {\n throw new Error('Provided address is not a valid address: ' + address);\n }\n address = address.replace('0x', '').replace('0X', '');\n const asBn = new BigNumber(address, 16);\n const base36 = asBn.toString(36);\n const padded = leftPad(base36, 15);\n return Iban.fromBban(padded.toUpperCase());\n }\n /**\n * Convert the passed BBAN to an IBAN for this country specification.\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\n *\n * @method fromBban\n * @param {String} bban the BBAN to convert to IBAN\n * @returns {Iban} the IBAN object\n */\n static fromBban(bban) {\n const countryCode = 'XE';\n const remainder = mod9710(iso13616Prepare(countryCode + '00' + bban));\n const checkDigit = ('0' + (98 - remainder)).slice(-2);\n return new Iban(countryCode + checkDigit + bban);\n }\n /**\n * Should be used to create IBAN object for given institution and identifier\n *\n * @method createIndirect\n * @param {Object} options, required options are \"institution\" and \"identifier\"\n * @return {Iban} the IBAN object\n */\n static createIndirect(options) {\n return Iban.fromBban('ETH' + options.institution + options.identifier);\n }\n /**\n * This method should be used to check if given string is valid iban object\n *\n * @method isValid\n * @param {String} iban string\n * @return {Boolean} true if it is valid IBAN\n */\n static isValid(iban) {\n const i = new Iban(iban);\n return i.isValid();\n }\n ;\n /**\n * Should be called to check if iban is correct\n *\n * @method isValid\n * @returns {Boolean} true if it is, otherwise false\n */\n isValid() {\n return /^XE[0-9]{2}(ETH[0-9A-Z]{13}|[0-9A-Z]{30,31})$/.test(this._iban) &&\n mod9710(iso13616Prepare(this._iban)) === 1;\n }\n ;\n /**\n * Should be called to check if iban number is direct\n *\n * @method isDirect\n * @returns {Boolean} true if it is, otherwise false\n */\n isDirect() {\n return this._iban.length === 34 || this._iban.length === 35;\n }\n ;\n /**\n * Should be called to check if iban number if indirect\n *\n * @method isIndirect\n * @returns {Boolean} true if it is, otherwise false\n */\n isIndirect() {\n return this._iban.length === 20;\n }\n ;\n /**\n * Should be called to get iban checksum\n * Uses the mod-97-10 checksumming protocol (ISO/IEC 7064:2003)\n *\n * @method checksum\n * @returns {String} checksum\n */\n checksum() {\n return this._iban.substr(2, 2);\n }\n ;\n /**\n * Should be called to get institution identifier\n * eg. XREG\n *\n * @method institution\n * @returns {String} institution identifier\n */\n institution() {\n return this.isIndirect() ? this._iban.substr(7, 4) : '';\n }\n ;\n /**\n * Should be called to get client identifier within institution\n * eg. GAVOFYORK\n *\n * @method client\n * @returns {String} client identifier\n */\n client() {\n return this.isIndirect() ? this._iban.substr(11) : '';\n }\n ;\n /**\n * Should be called to get client direct address\n *\n * @method toAddress\n * @returns {String} ethereum address\n */\n toAddress() {\n if (this.isDirect()) {\n const base36 = this._iban.substr(4);\n const asBn = new BigNumber(base36, 36);\n return utils.toChecksumAddress(asBn.toString(16, 20));\n }\n return '';\n }\n ;\n toString() {\n return this._iban;\n }\n ;\n}\nmodule.exports = Iban;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/** @file jsonrpc.js\n * @authors:\n * Fabian Vogelsteller \n * Marek Kotewicz \n * Aaron Kumavis \n * @date 2015\n */\n\"use strict\";\n// Initialize Jsonrpc as a simple object with utility functions.\nvar Jsonrpc = {\n messageId: 0\n};\n/**\n * Should be called to valid json create payload object\n *\n * @method toPayload\n * @param {Function} method of jsonrpc call, required\n * @param {Array} params, an array of method params, optional\n * @returns {Object} valid jsonrpc payload object\n */\nJsonrpc.toPayload = function (method, params) {\n if (!method) {\n throw new Error('JSONRPC method should be specified for params: \"' + JSON.stringify(params) + '\"!');\n }\n // advance message ID\n Jsonrpc.messageId++;\n return {\n jsonrpc: '2.0',\n id: Jsonrpc.messageId,\n method: method,\n params: params || []\n };\n};\n/**\n * Should be called to check if jsonrpc response is valid\n *\n * @method isValidResponse\n * @param {Object}\n * @returns {Boolean} true if response is valid, otherwise false\n */\nJsonrpc.isValidResponse = function (response) {\n return Array.isArray(response) ? response.every(validateSingleMessage) : validateSingleMessage(response);\n function validateSingleMessage(message) {\n return !!message &&\n !message.error &&\n message.jsonrpc === '2.0' &&\n (typeof message.id === 'number' || typeof message.id === 'string') &&\n message.result !== undefined; // only undefined is not valid json object\n }\n};\n/**\n * Should be called to create batch payload object\n *\n * @method toBatchPayload\n * @param {Array} messages, an array of objects with method (required) and params (optional) fields\n * @returns {Array} batch payload\n */\nJsonrpc.toBatchPayload = function (messages) {\n return messages.map(function (message) {\n return Jsonrpc.toPayload(message.method, message.params);\n });\n};\nmodule.exports = Jsonrpc;\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\nexports.blobConstructor = false\ntry {\n\tnew Blob([new ArrayBuffer(1)])\n\texports.blobConstructor = true\n} catch (e) {}\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// For some strange reason, Safari 7.0 reports typeof global.ArrayBuffer === 'object'.\n// Safari 7.1 appears to have fixed this bug.\nvar haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined'\nvar haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice)\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer'))\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer &&\n\tcheckTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nexports.vbArray = isFunction(global.VBArray)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, fetchTimer) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(new Buffer(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tif (result.done) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(new Buffer(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text:vbarray': // For IE9\n\t\t\tif (xhr.readyState !== rStates.DONE)\n\t\t\t\tbreak\n\t\t\ttry {\n\t\t\t\t// This fails in IE8\n\t\t\t\tresponse = new global.VBArray(xhr.responseBody).toArray()\n\t\t\t} catch (e) {}\n\t\t\tif (response !== null) {\n\t\t\t\tself.push(new Buffer(response))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Falls through in IE8\t\n\t\tcase 'text':\n\t\t\ttry { // This will fail when readyState = 3 in IE9. Switch mode and wait for readyState = 4\n\t\t\t\tresponse = xhr.responseText\n\t\t\t} catch (e) {\n\t\t\t\tself._mode = 'text:vbarray'\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = new Buffer(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(new Buffer(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tself.push(null)\n\t}\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","var http = require('http')\nvar url = require('url')\n\nvar https = module.exports\n\nfor (var key in http) {\n if (http.hasOwnProperty(key)) https[key] = http[key]\n}\n\nhttps.request = function (params, cb) {\n params = validateParams(params)\n return http.request.call(this, params, cb)\n}\n\nhttps.get = function (params, cb) {\n params = validateParams(params)\n return http.get.call(this, params, cb)\n}\n\nfunction validateParams (params) {\n if (typeof params === 'string') {\n params = url.parse(params)\n }\n if (!params.protocol) {\n params.protocol = 'https:'\n }\n if (params.protocol !== 'https:') {\n throw new Error('Protocol \"' + params.protocol + '\" not supported. Expected \"https:\"')\n }\n return params\n}\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KECCAK256_RLP = exports.KECCAK256_RLP_S = exports.KECCAK256_RLP_ARRAY = exports.KECCAK256_RLP_ARRAY_S = exports.KECCAK256_NULL = exports.KECCAK256_NULL_S = exports.TWO_POW256 = exports.MAX_INTEGER = void 0;\nvar Buffer = require('buffer').Buffer;\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n/**\n * The max integer that this VM can handle\n */\nexports.MAX_INTEGER = new bn_js_1.default('ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 16);\n/**\n * 2^256\n */\nexports.TWO_POW256 = new bn_js_1.default('10000000000000000000000000000000000000000000000000000000000000000', 16);\n/**\n * Keccak-256 hash of null\n */\nexports.KECCAK256_NULL_S = 'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470';\n/**\n * Keccak-256 hash of null\n */\nexports.KECCAK256_NULL = Buffer.from(exports.KECCAK256_NULL_S, 'hex');\n/**\n * Keccak-256 of an RLP of an empty array\n */\nexports.KECCAK256_RLP_ARRAY_S = '1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347';\n/**\n * Keccak-256 of an RLP of an empty array\n */\nexports.KECCAK256_RLP_ARRAY = Buffer.from(exports.KECCAK256_RLP_ARRAY_S, 'hex');\n/**\n * Keccak-256 hash of the RLP of null\n */\nexports.KECCAK256_RLP_S = '56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421';\n/**\n * Keccak-256 hash of the RLP of null\n */\nexports.KECCAK256_RLP = Buffer.from(exports.KECCAK256_RLP_S, 'hex');\n//# sourceMappingURL=constants.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isZeroAddress = exports.zeroAddress = exports.importPublic = exports.privateToAddress = exports.privateToPublic = exports.publicToAddress = exports.pubToAddress = exports.isValidPublic = exports.isValidPrivate = exports.generateAddress2 = exports.generateAddress = exports.isValidChecksumAddress = exports.toChecksumAddress = exports.isValidAddress = exports.Account = void 0;\nvar assert_1 = __importDefault(require(\"assert\"));\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\nvar rlp = __importStar(require(\"rlp\"));\nvar secp256k1_1 = require(\"ethereum-cryptography/secp256k1\");\nvar ethjs_util_1 = require(\"ethjs-util\");\nvar constants_1 = require(\"./constants\");\nvar bytes_1 = require(\"./bytes\");\nvar hash_1 = require(\"./hash\");\nvar helpers_1 = require(\"./helpers\");\nvar types_1 = require(\"./types\");\nvar Account = /** @class */ (function () {\n /**\n * This constructor assigns and validates the values.\n * Use the static factory methods to assist in creating an Account from varying data types.\n */\n function Account(nonce, balance, stateRoot, codeHash) {\n if (nonce === void 0) { nonce = new bn_js_1.default(0); }\n if (balance === void 0) { balance = new bn_js_1.default(0); }\n if (stateRoot === void 0) { stateRoot = constants_1.KECCAK256_RLP; }\n if (codeHash === void 0) { codeHash = constants_1.KECCAK256_NULL; }\n this.nonce = nonce;\n this.balance = balance;\n this.stateRoot = stateRoot;\n this.codeHash = codeHash;\n this._validate();\n }\n Account.fromAccountData = function (accountData) {\n var nonce = accountData.nonce, balance = accountData.balance, stateRoot = accountData.stateRoot, codeHash = accountData.codeHash;\n return new Account(nonce ? new bn_js_1.default(bytes_1.toBuffer(nonce)) : undefined, balance ? new bn_js_1.default(bytes_1.toBuffer(balance)) : undefined, stateRoot ? bytes_1.toBuffer(stateRoot) : undefined, codeHash ? bytes_1.toBuffer(codeHash) : undefined);\n };\n Account.fromRlpSerializedAccount = function (serialized) {\n var values = rlp.decode(serialized);\n if (!Array.isArray(values)) {\n throw new Error('Invalid serialized account input. Must be array');\n }\n return this.fromValuesArray(values);\n };\n Account.fromValuesArray = function (values) {\n var _a = __read(values, 4), nonce = _a[0], balance = _a[1], stateRoot = _a[2], codeHash = _a[3];\n return new Account(new bn_js_1.default(nonce), new bn_js_1.default(balance), stateRoot, codeHash);\n };\n Account.prototype._validate = function () {\n if (this.nonce.lt(new bn_js_1.default(0))) {\n throw new Error('nonce must be greater than zero');\n }\n if (this.balance.lt(new bn_js_1.default(0))) {\n throw new Error('balance must be greater than zero');\n }\n if (this.stateRoot.length !== 32) {\n throw new Error('stateRoot must have a length of 32');\n }\n if (this.codeHash.length !== 32) {\n throw new Error('codeHash must have a length of 32');\n }\n };\n /**\n * Returns a Buffer Array of the raw Buffers for the account, in order.\n */\n Account.prototype.raw = function () {\n return [\n types_1.bnToUnpaddedBuffer(this.nonce),\n types_1.bnToUnpaddedBuffer(this.balance),\n this.stateRoot,\n this.codeHash,\n ];\n };\n /**\n * Returns the RLP serialization of the account as a `Buffer`.\n */\n Account.prototype.serialize = function () {\n return rlp.encode(this.raw());\n };\n /**\n * Returns a `Boolean` determining if the account is a contract.\n */\n Account.prototype.isContract = function () {\n return !this.codeHash.equals(constants_1.KECCAK256_NULL);\n };\n /**\n * Returns a `Boolean` determining if the account is empty complying to the definition of\n * account emptiness in [EIP-161](https://eips.ethereum.org/EIPS/eip-161):\n * \"An account is considered empty when it has no code and zero nonce and zero balance.\"\n */\n Account.prototype.isEmpty = function () {\n return this.balance.isZero() && this.nonce.isZero() && this.codeHash.equals(constants_1.KECCAK256_NULL);\n };\n return Account;\n}());\nexports.Account = Account;\n/**\n * Checks if the address is a valid. Accepts checksummed addresses too.\n */\nexports.isValidAddress = function (hexAddress) {\n try {\n helpers_1.assertIsString(hexAddress);\n }\n catch (e) {\n return false;\n }\n return /^0x[0-9a-fA-F]{40}$/.test(hexAddress);\n};\n/**\n * Returns a checksummed address.\n *\n * If a eip1191ChainId is provided, the chainId will be included in the checksum calculation. This\n * has the effect of checksummed addresses for one chain having invalid checksums for others.\n * For more details see [EIP-1191](https://eips.ethereum.org/EIPS/eip-1191).\n *\n * WARNING: Checksums with and without the chainId will differ. As of 2019-06-26, the most commonly\n * used variation in Ethereum was without the chainId. This may change in the future.\n */\nexports.toChecksumAddress = function (hexAddress, eip1191ChainId) {\n helpers_1.assertIsHexString(hexAddress);\n var address = ethjs_util_1.stripHexPrefix(hexAddress).toLowerCase();\n var prefix = '';\n if (eip1191ChainId) {\n var chainId = types_1.toType(eip1191ChainId, types_1.TypeOutput.BN);\n prefix = chainId.toString() + '0x';\n }\n var hash = hash_1.keccakFromString(prefix + address).toString('hex');\n var ret = '0x';\n for (var i = 0; i < address.length; i++) {\n if (parseInt(hash[i], 16) >= 8) {\n ret += address[i].toUpperCase();\n }\n else {\n ret += address[i];\n }\n }\n return ret;\n};\n/**\n * Checks if the address is a valid checksummed address.\n *\n * See toChecksumAddress' documentation for details about the eip1191ChainId parameter.\n */\nexports.isValidChecksumAddress = function (hexAddress, eip1191ChainId) {\n return exports.isValidAddress(hexAddress) && exports.toChecksumAddress(hexAddress, eip1191ChainId) === hexAddress;\n};\n/**\n * Generates an address of a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */\nexports.generateAddress = function (from, nonce) {\n helpers_1.assertIsBuffer(from);\n helpers_1.assertIsBuffer(nonce);\n var nonceBN = new bn_js_1.default(nonce);\n if (nonceBN.isZero()) {\n // in RLP we want to encode null in the case of zero nonce\n // read the RLP documentation for an answer if you dare\n return hash_1.rlphash([from, null]).slice(-20);\n }\n // Only take the lower 160bits of the hash\n return hash_1.rlphash([from, Buffer.from(nonceBN.toArray())]).slice(-20);\n};\n/**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */\nexports.generateAddress2 = function (from, salt, initCode) {\n helpers_1.assertIsBuffer(from);\n helpers_1.assertIsBuffer(salt);\n helpers_1.assertIsBuffer(initCode);\n assert_1.default(from.length === 20);\n assert_1.default(salt.length === 32);\n var address = hash_1.keccak256(Buffer.concat([Buffer.from('ff', 'hex'), from, salt, hash_1.keccak256(initCode)]));\n return address.slice(-20);\n};\n/**\n * Checks if the private key satisfies the rules of the curve secp256k1.\n */\nexports.isValidPrivate = function (privateKey) {\n return secp256k1_1.privateKeyVerify(privateKey);\n};\n/**\n * Checks if the public key satisfies the rules of the curve secp256k1\n * and the requirements of Ethereum.\n * @param publicKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */\nexports.isValidPublic = function (publicKey, sanitize) {\n if (sanitize === void 0) { sanitize = false; }\n helpers_1.assertIsBuffer(publicKey);\n if (publicKey.length === 64) {\n // Convert to SEC1 for secp256k1\n return secp256k1_1.publicKeyVerify(Buffer.concat([Buffer.from([4]), publicKey]));\n }\n if (!sanitize) {\n return false;\n }\n return secp256k1_1.publicKeyVerify(publicKey);\n};\n/**\n * Returns the ethereum address of a given public key.\n * Accepts \"Ethereum public keys\" and SEC1 encoded keys.\n * @param pubKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */\nexports.pubToAddress = function (pubKey, sanitize) {\n if (sanitize === void 0) { sanitize = false; }\n helpers_1.assertIsBuffer(pubKey);\n if (sanitize && pubKey.length !== 64) {\n pubKey = Buffer.from(secp256k1_1.publicKeyConvert(pubKey, false).slice(1));\n }\n assert_1.default(pubKey.length === 64);\n // Only take the lower 160bits of the hash\n return hash_1.keccak(pubKey).slice(-20);\n};\nexports.publicToAddress = exports.pubToAddress;\n/**\n * Returns the ethereum public key of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\nexports.privateToPublic = function (privateKey) {\n helpers_1.assertIsBuffer(privateKey);\n // skip the type flag and use the X, Y points\n return Buffer.from(secp256k1_1.publicKeyCreate(privateKey, false)).slice(1);\n};\n/**\n * Returns the ethereum address of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\nexports.privateToAddress = function (privateKey) {\n return exports.publicToAddress(exports.privateToPublic(privateKey));\n};\n/**\n * Converts a public key to the Ethereum format.\n */\nexports.importPublic = function (publicKey) {\n helpers_1.assertIsBuffer(publicKey);\n if (publicKey.length !== 64) {\n publicKey = Buffer.from(secp256k1_1.publicKeyConvert(publicKey, false).slice(1));\n }\n return publicKey;\n};\n/**\n * Returns the zero address.\n */\nexports.zeroAddress = function () {\n var addressLength = 20;\n var addr = bytes_1.zeros(addressLength);\n return bytes_1.bufferToHex(addr);\n};\n/**\n * Checks if a given address is the zero address.\n */\nexports.isZeroAddress = function (hexAddress) {\n try {\n helpers_1.assertIsString(hexAddress);\n }\n catch (e) {\n return false;\n }\n var zeroAddr = exports.zeroAddress();\n return zeroAddr === hexAddress;\n};\n//# sourceMappingURL=account.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar secp256k1_1 = require(\"secp256k1\");\nvar random_1 = require(\"./random\");\nvar SECP256K1_PRIVATE_KEY_SIZE = 32;\nfunction createPrivateKey() {\n return __awaiter(this, void 0, void 0, function () {\n var pk;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!true) return [3 /*break*/, 2];\n return [4 /*yield*/, random_1.getRandomBytes(SECP256K1_PRIVATE_KEY_SIZE)];\n case 1:\n pk = _a.sent();\n if (secp256k1_1.privateKeyVerify(pk)) {\n return [2 /*return*/, pk];\n }\n return [3 /*break*/, 0];\n case 2: return [2 /*return*/];\n }\n });\n });\n}\nexports.createPrivateKey = createPrivateKey;\nfunction createPrivateKeySync() {\n while (true) {\n var pk = random_1.getRandomBytesSync(SECP256K1_PRIVATE_KEY_SIZE);\n if (secp256k1_1.privateKeyVerify(pk)) {\n return pk;\n }\n }\n}\nexports.createPrivateKeySync = createPrivateKeySync;\n__export(require(\"secp256k1\"));\n//# sourceMappingURL=secp256k1.js.map","module.exports = require('./lib')(require('./lib/elliptic'))\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param {String} str the string input value\n * @return {Boolean} a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nmodule.exports = function isHexPrefixed(str) {\n if (typeof str !== 'string') {\n throw new Error(\"[is-hex-prefixed] value must be type 'string', is currently type \" + (typeof str) + \", while checking isHexPrefixed.\");\n }\n\n return str.slice(0, 2) === '0x';\n}\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","\"use strict\";\n/**\n * BigNumber\n *\n * A wrapper around the BN.js object. We use the BN.js library\n * because it is used by elliptic, so it is required regardless.\n *\n */\nimport _BN from \"bn.js\";\nvar BN = _BN.BN;\nimport { hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst _constructorGuard = {};\nconst MAX_SAFE = 0x1fffffffffffff;\nexport function isBigNumberish(value) {\n return (value != null) && (BigNumber.isBigNumber(value) ||\n (typeof (value) === \"number\" && (value % 1) === 0) ||\n (typeof (value) === \"string\" && !!value.match(/^-?[0-9]+$/)) ||\n isHexString(value) ||\n (typeof (value) === \"bigint\") ||\n isBytes(value));\n}\n// Only warn about passing 10 into radix once\nlet _warnedToStringRadix = false;\nexport class BigNumber {\n constructor(constructorGuard, hex) {\n logger.checkNew(new.target, BigNumber);\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot call constructor directly; use BigNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new (BigNumber)\"\n });\n }\n this._hex = hex;\n this._isBigNumber = true;\n Object.freeze(this);\n }\n fromTwos(value) {\n return toBigNumber(toBN(this).fromTwos(value));\n }\n toTwos(value) {\n return toBigNumber(toBN(this).toTwos(value));\n }\n abs() {\n if (this._hex[0] === \"-\") {\n return BigNumber.from(this._hex.substring(1));\n }\n return this;\n }\n add(other) {\n return toBigNumber(toBN(this).add(toBN(other)));\n }\n sub(other) {\n return toBigNumber(toBN(this).sub(toBN(other)));\n }\n div(other) {\n const o = BigNumber.from(other);\n if (o.isZero()) {\n throwFault(\"division by zero\", \"div\");\n }\n return toBigNumber(toBN(this).div(toBN(other)));\n }\n mul(other) {\n return toBigNumber(toBN(this).mul(toBN(other)));\n }\n mod(other) {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"cannot modulo negative values\", \"mod\");\n }\n return toBigNumber(toBN(this).umod(value));\n }\n pow(other) {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"cannot raise to negative values\", \"pow\");\n }\n return toBigNumber(toBN(this).pow(value));\n }\n and(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"cannot 'and' negative values\", \"and\");\n }\n return toBigNumber(toBN(this).and(value));\n }\n or(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"cannot 'or' negative values\", \"or\");\n }\n return toBigNumber(toBN(this).or(value));\n }\n xor(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"cannot 'xor' negative values\", \"xor\");\n }\n return toBigNumber(toBN(this).xor(value));\n }\n mask(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"cannot mask negative values\", \"mask\");\n }\n return toBigNumber(toBN(this).maskn(value));\n }\n shl(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"cannot shift negative values\", \"shl\");\n }\n return toBigNumber(toBN(this).shln(value));\n }\n shr(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"cannot shift negative values\", \"shr\");\n }\n return toBigNumber(toBN(this).shrn(value));\n }\n eq(other) {\n return toBN(this).eq(toBN(other));\n }\n lt(other) {\n return toBN(this).lt(toBN(other));\n }\n lte(other) {\n return toBN(this).lte(toBN(other));\n }\n gt(other) {\n return toBN(this).gt(toBN(other));\n }\n gte(other) {\n return toBN(this).gte(toBN(other));\n }\n isNegative() {\n return (this._hex[0] === \"-\");\n }\n isZero() {\n return toBN(this).isZero();\n }\n toNumber() {\n try {\n return toBN(this).toNumber();\n }\n catch (error) {\n throwFault(\"overflow\", \"toNumber\", this.toString());\n }\n return null;\n }\n toBigInt() {\n try {\n return BigInt(this.toString());\n }\n catch (e) { }\n return logger.throwError(\"this platform does not support BigInt\", Logger.errors.UNSUPPORTED_OPERATION, {\n value: this.toString()\n });\n }\n toString() {\n // Lots of people expect this, which we do not support, so check (See: #889)\n if (arguments.length > 0) {\n if (arguments[0] === 10) {\n if (!_warnedToStringRadix) {\n _warnedToStringRadix = true;\n logger.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\");\n }\n }\n else if (arguments[0] === 16) {\n logger.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\", Logger.errors.UNEXPECTED_ARGUMENT, {});\n }\n else {\n logger.throwError(\"BigNumber.toString does not accept parameters\", Logger.errors.UNEXPECTED_ARGUMENT, {});\n }\n }\n return toBN(this).toString(10);\n }\n toHexString() {\n return this._hex;\n }\n toJSON(key) {\n return { type: \"BigNumber\", hex: this.toHexString() };\n }\n static from(value) {\n if (value instanceof BigNumber) {\n return value;\n }\n if (typeof (value) === \"string\") {\n if (value.match(/^-?0x[0-9a-f]+$/i)) {\n return new BigNumber(_constructorGuard, toHex(value));\n }\n if (value.match(/^-?[0-9]+$/)) {\n return new BigNumber(_constructorGuard, toHex(new BN(value)));\n }\n return logger.throwArgumentError(\"invalid BigNumber string\", \"value\", value);\n }\n if (typeof (value) === \"number\") {\n if (value % 1) {\n throwFault(\"underflow\", \"BigNumber.from\", value);\n }\n if (value >= MAX_SAFE || value <= -MAX_SAFE) {\n throwFault(\"overflow\", \"BigNumber.from\", value);\n }\n return BigNumber.from(String(value));\n }\n const anyValue = value;\n if (typeof (anyValue) === \"bigint\") {\n return BigNumber.from(anyValue.toString());\n }\n if (isBytes(anyValue)) {\n return BigNumber.from(hexlify(anyValue));\n }\n if (anyValue) {\n // Hexable interface (takes piority)\n if (anyValue.toHexString) {\n const hex = anyValue.toHexString();\n if (typeof (hex) === \"string\") {\n return BigNumber.from(hex);\n }\n }\n else {\n // For now, handle legacy JSON-ified values (goes away in v6)\n let hex = anyValue._hex;\n // New-form JSON\n if (hex == null && anyValue.type === \"BigNumber\") {\n hex = anyValue.hex;\n }\n if (typeof (hex) === \"string\") {\n if (isHexString(hex) || (hex[0] === \"-\" && isHexString(hex.substring(1)))) {\n return BigNumber.from(hex);\n }\n }\n }\n }\n return logger.throwArgumentError(\"invalid BigNumber value\", \"value\", value);\n }\n static isBigNumber(value) {\n return !!(value && value._isBigNumber);\n }\n}\n// Normalize the hex string\nfunction toHex(value) {\n // For BN, call on the hex string\n if (typeof (value) !== \"string\") {\n return toHex(value.toString(16));\n }\n // If negative, prepend the negative sign to the normalized positive value\n if (value[0] === \"-\") {\n // Strip off the negative sign\n value = value.substring(1);\n // Cannot have mulitple negative signs (e.g. \"--0x04\")\n if (value[0] === \"-\") {\n logger.throwArgumentError(\"invalid hex\", \"value\", value);\n }\n // Call toHex on the positive component\n value = toHex(value);\n // Do not allow \"-0x00\"\n if (value === \"0x00\") {\n return value;\n }\n // Negate the value\n return \"-\" + value;\n }\n // Add a \"0x\" prefix if missing\n if (value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n // Normalize zero\n if (value === \"0x\") {\n return \"0x00\";\n }\n // Make the string even length\n if (value.length % 2) {\n value = \"0x0\" + value.substring(2);\n }\n // Trim to smallest even-length string\n while (value.length > 4 && value.substring(0, 4) === \"0x00\") {\n value = \"0x\" + value.substring(4);\n }\n return value;\n}\nfunction toBigNumber(value) {\n return BigNumber.from(toHex(value));\n}\nfunction toBN(value) {\n const hex = BigNumber.from(value).toHexString();\n if (hex[0] === \"-\") {\n return (new BN(\"-\" + hex.substring(3), 16));\n }\n return new BN(hex.substring(2), 16);\n}\nfunction throwFault(fault, operation, value) {\n const params = { fault: fault, operation: operation };\n if (value != null) {\n params.value = value;\n }\n return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);\n}\n// value should have no prefix\nexport function _base36To16(value) {\n return (new BN(value, 36)).toString(16);\n}\n// value should have no prefix\nexport function _base16To36(value) {\n return (new BN(value, 16)).toString(36);\n}\n//# sourceMappingURL=bignumber.js.map","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","/*\n This file is part of web3.js.\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file config.js\n *\n * @author Samuel Furter \n * @date 2017\n */\n\"use strict\";\n/**\n * Source: https://docs.ens.domains/ens-deployments\n *\n * @type {{addresses: {main: string, rinkeby: string, goerli: string, ropsten: string}}}\n */\nvar config = {\n addresses: {\n main: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n ropsten: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n rinkeby: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n goerli: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n // These ids obtained at ensdomains docs:\n // https://docs.ens.domains/contract-developer-guide/writing-a-resolver\n interfaceIds: {\n addr: \"0x3b3b57de\",\n setAddr: \"0x3b3b57de\",\n pubkey: \"0xc8690233\",\n setPubkey: \"0xc8690233\",\n contenthash: \"0xbc1c58d1\",\n setContenthash: \"0xbc1c58d1\",\n content: \"0xd8389dc5\",\n setContent: \"0xd8389dc5\"\n }\n};\nmodule.exports = config;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file contract.js\n *\n * To initialize a contract use:\n *\n * var Contract = require('web3-eth-contract');\n * Contract.setProvider('ws://localhost:8546');\n * var contract = new Contract(abi, address, ...);\n *\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar core = require('web3-core');\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar Subscription = require('web3-core-subscriptions').subscription;\nvar formatters = require('web3-core-helpers').formatters;\nvar errors = require('web3-core-helpers').errors;\nvar promiEvent = require('web3-core-promievent');\nvar abi = require('web3-eth-abi');\n/**\n * Should be called to create new contract instance\n *\n * @method Contract\n * @constructor\n * @param {Array} jsonInterface\n * @param {String} address\n * @param {Object} options\n */\nvar Contract = function Contract(jsonInterface, address, options) {\n var _this = this, args = Array.prototype.slice.call(arguments);\n if (!(this instanceof Contract)) {\n throw new Error('Please use the \"new\" keyword to instantiate a web3.eth.Contract() object!');\n }\n this.setProvider = function () {\n core.packageInit(_this, arguments);\n _this.clearSubscriptions = _this._requestManager.clearSubscriptions;\n };\n // sets _requestmanager\n core.packageInit(this, [this.constructor]);\n this.clearSubscriptions = this._requestManager.clearSubscriptions;\n if (!jsonInterface || !(Array.isArray(jsonInterface))) {\n throw errors.ContractMissingABIError();\n }\n // create the options object\n this.options = {};\n var lastArg = args[args.length - 1];\n if (!!lastArg && typeof lastArg === 'object' && !Array.isArray(lastArg)) {\n options = lastArg;\n this.options = { ...this.options, ...this._getOrSetDefaultOptions(options) };\n if (!!address && typeof address === 'object') {\n address = null;\n }\n }\n // set address\n Object.defineProperty(this.options, 'address', {\n set: function (value) {\n if (value) {\n _this._address = utils.toChecksumAddress(formatters.inputAddressFormatter(value));\n }\n },\n get: function () {\n return _this._address;\n },\n enumerable: true\n });\n // add method and event signatures, when the jsonInterface gets set\n Object.defineProperty(this.options, 'jsonInterface', {\n set: function (value) {\n _this.methods = {};\n _this.events = {};\n _this._jsonInterface = value.map(function (method) {\n var func, funcName;\n // make constant and payable backwards compatible\n method.constant = (method.stateMutability === \"view\" || method.stateMutability === \"pure\" || method.constant);\n method.payable = (method.stateMutability === \"payable\" || method.payable);\n if (method.name) {\n funcName = utils._jsonInterfaceMethodToString(method);\n }\n // function\n if (method.type === 'function') {\n method.signature = abi.encodeFunctionSignature(funcName);\n func = _this._createTxObject.bind({\n method: method,\n parent: _this\n });\n // add method only if not one already exists\n if (!_this.methods[method.name]) {\n _this.methods[method.name] = func;\n }\n else {\n var cascadeFunc = _this._createTxObject.bind({\n method: method,\n parent: _this,\n nextMethod: _this.methods[method.name]\n });\n _this.methods[method.name] = cascadeFunc;\n }\n // definitely add the method based on its signature\n _this.methods[method.signature] = func;\n // add method by name\n _this.methods[funcName] = func;\n // event\n }\n else if (method.type === 'event') {\n method.signature = abi.encodeEventSignature(funcName);\n var event = _this._on.bind(_this, method.signature);\n // add method only if not already exists\n if (!_this.events[method.name] || _this.events[method.name].name === 'bound ')\n _this.events[method.name] = event;\n // definitely add the method based on its signature\n _this.events[method.signature] = event;\n // add event by name\n _this.events[funcName] = event;\n }\n return method;\n });\n // add allEvents\n _this.events.allEvents = _this._on.bind(_this, 'allevents');\n return _this._jsonInterface;\n },\n get: function () {\n return _this._jsonInterface;\n },\n enumerable: true\n });\n // get default account from the Class\n var defaultAccount = this.constructor.defaultAccount;\n var defaultBlock = this.constructor.defaultBlock || 'latest';\n Object.defineProperty(this, 'handleRevert', {\n get: function () {\n if (_this.options.handleRevert === false || _this.options.handleRevert === true) {\n return _this.options.handleRevert;\n }\n return this.constructor.handleRevert;\n },\n set: function (val) {\n _this.options.handleRevert = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultCommon', {\n get: function () {\n return _this.options.common || this.constructor.defaultCommon;\n },\n set: function (val) {\n _this.options.common = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultHardfork', {\n get: function () {\n return _this.options.hardfork || this.constructor.defaultHardfork;\n },\n set: function (val) {\n _this.options.hardfork = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultChain', {\n get: function () {\n return _this.options.chain || this.constructor.defaultChain;\n },\n set: function (val) {\n _this.options.chain = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionPollingTimeout', {\n get: function () {\n if (_this.options.transactionPollingTimeout === 0) {\n return _this.options.transactionPollingTimeout;\n }\n return _this.options.transactionPollingTimeout || this.constructor.transactionPollingTimeout;\n },\n set: function (val) {\n _this.options.transactionPollingTimeout = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionConfirmationBlocks', {\n get: function () {\n if (_this.options.transactionConfirmationBlocks === 0) {\n return _this.options.transactionConfirmationBlocks;\n }\n return _this.options.transactionConfirmationBlocks || this.constructor.transactionConfirmationBlocks;\n },\n set: function (val) {\n _this.options.transactionConfirmationBlocks = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'transactionBlockTimeout', {\n get: function () {\n if (_this.options.transactionBlockTimeout === 0) {\n return _this.options.transactionBlockTimeout;\n }\n return _this.options.transactionBlockTimeout || this.constructor.transactionBlockTimeout;\n },\n set: function (val) {\n _this.options.transactionBlockTimeout = val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultAccount', {\n get: function () {\n return defaultAccount;\n },\n set: function (val) {\n if (val) {\n defaultAccount = utils.toChecksumAddress(formatters.inputAddressFormatter(val));\n }\n return val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultBlock', {\n get: function () {\n return defaultBlock;\n },\n set: function (val) {\n defaultBlock = val;\n return val;\n },\n enumerable: true\n });\n // properties\n this.methods = {};\n this.events = {};\n this._address = null;\n this._jsonInterface = [];\n // set getter/setter properties\n this.options.address = address;\n this.options.jsonInterface = jsonInterface;\n};\n/**\n * Sets the new provider, creates a new requestManager, registers the \"data\" listener on the provider and sets the\n * accounts module for the Contract class.\n *\n * @method setProvider\n *\n * @param {string|provider} provider\n * @param {Accounts} accounts\n *\n * @returns void\n */\nContract.setProvider = function (provider, accounts) {\n // Contract.currentProvider = provider;\n core.packageInit(this, [provider]);\n this._ethAccounts = accounts;\n};\n/**\n * Get the callback and modify the array if necessary\n *\n * @method _getCallback\n * @param {Array} args\n * @return {Function} the callback\n */\nContract.prototype._getCallback = function getCallback(args) {\n if (args && !!args[args.length - 1] && typeof args[args.length - 1] === 'function') {\n return args.pop(); // modify the args array!\n }\n};\n/**\n * Checks that no listener with name \"newListener\" or \"removeListener\" is added.\n *\n * @method _checkListener\n * @param {String} type\n * @param {String} event\n * @return {Object} the contract instance\n */\nContract.prototype._checkListener = function (type, event) {\n if (event === type) {\n throw errors.ContractReservedEventError(type);\n }\n};\n/**\n * Use default values, if options are not available\n *\n * @method _getOrSetDefaultOptions\n * @param {Object} options the options gived by the user\n * @return {Object} the options with gaps filled by defaults\n */\nContract.prototype._getOrSetDefaultOptions = function getOrSetDefaultOptions(options) {\n var gasPrice = options.gasPrice ? String(options.gasPrice) : null;\n var from = options.from ? utils.toChecksumAddress(formatters.inputAddressFormatter(options.from)) : null;\n options.data = options.data || this.options.data;\n options.from = from || this.options.from;\n options.gasPrice = gasPrice || this.options.gasPrice;\n options.gas = options.gas || options.gasLimit || this.options.gas;\n // TODO replace with only gasLimit?\n delete options.gasLimit;\n return options;\n};\n/**\n * Should be used to encode indexed params and options to one final object\n *\n * @method _encodeEventABI\n * @param {Object} event\n * @param {Object} options\n * @return {Object} everything combined together and encoded\n */\nContract.prototype._encodeEventABI = function (event, options) {\n options = options || {};\n var filter = options.filter || {}, result = {};\n ['fromBlock', 'toBlock'].filter(function (f) {\n return options[f] !== undefined;\n }).forEach(function (f) {\n result[f] = formatters.inputBlockNumberFormatter(options[f]);\n });\n // use given topics\n if (Array.isArray(options.topics)) {\n result.topics = options.topics;\n // create topics based on filter\n }\n else {\n result.topics = [];\n // add event signature\n if (event && !event.anonymous && event.name !== 'ALLEVENTS') {\n result.topics.push(event.signature);\n }\n // add event topics (indexed arguments)\n if (event.name !== 'ALLEVENTS') {\n var indexedTopics = event.inputs.filter(function (i) {\n return i.indexed === true;\n }).map(function (i) {\n var value = filter[i.name];\n if (!value) {\n return null;\n }\n // TODO: https://github.com/ethereum/web3.js/issues/344\n // TODO: deal properly with components\n if (Array.isArray(value)) {\n return value.map(function (v) {\n return abi.encodeParameter(i.type, v);\n });\n }\n return abi.encodeParameter(i.type, value);\n });\n result.topics = result.topics.concat(indexedTopics);\n }\n if (!result.topics.length)\n delete result.topics;\n }\n if (this.options.address) {\n result.address = this.options.address.toLowerCase();\n }\n return result;\n};\n/**\n * Should be used to decode indexed params and options\n *\n * @method _decodeEventABI\n * @param {Object} data\n * @return {Object} result object with decoded indexed && not indexed params\n */\nContract.prototype._decodeEventABI = function (data) {\n var event = this;\n data.data = data.data || '';\n data.topics = data.topics || [];\n var result = formatters.outputLogFormatter(data);\n // if allEvents get the right event\n if (event.name === 'ALLEVENTS') {\n event = event.jsonInterface.find(function (intf) {\n return (intf.signature === data.topics[0]);\n }) || { anonymous: true };\n }\n // create empty inputs if none are present (e.g. anonymous events on allEvents)\n event.inputs = event.inputs || [];\n // Handle case where an event signature shadows the current ABI with non-identical\n // arg indexing. If # of topics doesn't match, event is anon.\n if (!event.anonymous) {\n let indexedInputs = 0;\n event.inputs.forEach(input => input.indexed ? indexedInputs++ : null);\n if (indexedInputs > 0 && (data.topics.length !== indexedInputs + 1)) {\n event = {\n anonymous: true,\n inputs: []\n };\n }\n }\n var argTopics = event.anonymous ? data.topics : data.topics.slice(1);\n result.returnValues = abi.decodeLog(event.inputs, data.data, argTopics);\n delete result.returnValues.__length__;\n // add name\n result.event = event.name;\n // add signature\n result.signature = (event.anonymous || !data.topics[0]) ? null : data.topics[0];\n // move the data and topics to \"raw\"\n result.raw = {\n data: result.data,\n topics: result.topics\n };\n delete result.data;\n delete result.topics;\n return result;\n};\n/**\n * Encodes an ABI for a method, including signature or the method.\n * Or when constructor encodes only the constructor parameters.\n *\n * @method _encodeMethodABI\n * @param {Mixed} args the arguments to encode\n * @param {String} the encoded ABI\n */\nContract.prototype._encodeMethodABI = function _encodeMethodABI() {\n var methodSignature = this._method.signature, args = this.arguments || [];\n var signature = false, paramsABI = this._parent.options.jsonInterface.filter(function (json) {\n return ((methodSignature === 'constructor' && json.type === methodSignature) ||\n ((json.signature === methodSignature || json.signature === methodSignature.replace('0x', '') || json.name === methodSignature) && json.type === 'function'));\n }).map(function (json) {\n var inputLength = (Array.isArray(json.inputs)) ? json.inputs.length : 0;\n if (inputLength !== args.length) {\n throw new Error('The number of arguments is not matching the methods required number. You need to pass ' + inputLength + ' arguments.');\n }\n if (json.type === 'function') {\n signature = json.signature;\n }\n return Array.isArray(json.inputs) ? json.inputs : [];\n }).map(function (inputs) {\n return abi.encodeParameters(inputs, args).replace('0x', '');\n })[0] || '';\n // return constructor\n if (methodSignature === 'constructor') {\n if (!this._deployData)\n throw new Error('The contract has no contract data option set. This is necessary to append the constructor parameters.');\n if (!this._deployData.startsWith('0x')) {\n this._deployData = '0x' + this._deployData;\n }\n return this._deployData + paramsABI;\n }\n // return method\n var returnValue = (signature) ? signature + paramsABI : paramsABI;\n if (!returnValue) {\n throw new Error('Couldn\\'t find a matching contract method named \"' + this._method.name + '\".');\n }\n return returnValue;\n};\n/**\n * Decode method return values\n *\n * @method _decodeMethodReturn\n * @param {Array} outputs\n * @param {String} returnValues\n * @return {Object} decoded output return values\n */\nContract.prototype._decodeMethodReturn = function (outputs, returnValues) {\n if (!returnValues) {\n return null;\n }\n returnValues = returnValues.length >= 2 ? returnValues.slice(2) : returnValues;\n var result = abi.decodeParameters(outputs, returnValues);\n if (result.__length__ === 1) {\n return result[0];\n }\n delete result.__length__;\n return result;\n};\n/**\n * Deploys a contract and fire events based on its state: transactionHash, receipt\n *\n * All event listeners will be removed, once the last possible event is fired (\"error\", or \"receipt\")\n *\n * @method deploy\n * @param {Object} options\n * @param {Function} callback\n * @return {Object} EventEmitter possible events are \"error\", \"transactionHash\" and \"receipt\"\n */\nContract.prototype.deploy = function (options, callback) {\n options = options || {};\n options.arguments = options.arguments || [];\n options = this._getOrSetDefaultOptions(options);\n // throw error, if no \"data\" is specified\n if (!options.data) {\n if (typeof callback === 'function') {\n return callback(errors.ContractMissingDeployDataError());\n }\n throw errors.ContractMissingDeployDataError();\n }\n var constructor = this.options.jsonInterface.find((method) => {\n return (method.type === 'constructor');\n }) || {};\n constructor.signature = 'constructor';\n return this._createTxObject.apply({\n method: constructor,\n parent: this,\n deployData: options.data,\n _ethAccounts: this.constructor._ethAccounts\n }, options.arguments);\n};\n/**\n * Gets the event signature and outputFormatters\n *\n * @method _generateEventOptions\n * @param {Object} event\n * @param {Object} options\n * @param {Function} callback\n * @return {Object} the event options object\n */\nContract.prototype._generateEventOptions = function () {\n var args = Array.prototype.slice.call(arguments);\n // get the callback\n var callback = this._getCallback(args);\n // get the options\n var options = (!!args[args.length - 1] && typeof args[args.length - 1]) === 'object' ? args.pop() : {};\n var eventName = (typeof args[0] === 'string') ? args[0] : 'allevents';\n var event = (eventName.toLowerCase() === 'allevents') ? {\n name: 'ALLEVENTS',\n jsonInterface: this.options.jsonInterface\n } : this.options.jsonInterface.find(function (json) {\n return (json.type === 'event' && (json.name === eventName || json.signature === '0x' + eventName.replace('0x', '')));\n });\n if (!event) {\n throw errors.ContractEventDoesNotExistError(eventName);\n }\n if (!utils.isAddress(this.options.address)) {\n throw errors.ContractNoAddressDefinedError();\n }\n return {\n params: this._encodeEventABI(event, options),\n event: event,\n callback: callback\n };\n};\n/**\n * Adds event listeners and creates a subscription, and remove it once its fired.\n *\n * @method clone\n * @return {Object} the event subscription\n */\nContract.prototype.clone = function () {\n return new this.constructor(this.options.jsonInterface, this.options.address, this.options);\n};\n/**\n * Adds event listeners and creates a subscription, and remove it once its fired.\n *\n * @method once\n * @param {String} event\n * @param {Object} options\n * @param {Function} callback\n * @return {Object} the event subscription\n */\nContract.prototype.once = function (event, options, callback) {\n var args = Array.prototype.slice.call(arguments);\n // get the callback\n callback = this._getCallback(args);\n if (!callback) {\n throw errors.ContractOnceRequiresCallbackError();\n }\n // don't allow fromBlock\n if (options)\n delete options.fromBlock;\n // don't return as once shouldn't provide \"on\"\n this._on(event, options, function (err, res, sub) {\n sub.unsubscribe();\n if (typeof callback === 'function') {\n callback(err, res, sub);\n }\n });\n return undefined;\n};\n/**\n * Adds event listeners and creates a subscription.\n *\n * @method _on\n *\n * @param {String} event\n * @param {Object} options\n * @param {Function} callback\n *\n * @return {Object} the event subscription\n */\nContract.prototype._on = function () {\n var subOptions = this._generateEventOptions.apply(this, arguments);\n if (subOptions.params && subOptions.params.toBlock) {\n delete subOptions.params.toBlock;\n console.warn('Invalid option: toBlock. Use getPastEvents for specific range.');\n }\n // prevent the event \"newListener\" and \"removeListener\" from being overwritten\n this._checkListener('newListener', subOptions.event.name);\n this._checkListener('removeListener', subOptions.event.name);\n // TODO check if listener already exists? and reuse subscription if options are the same.\n // create new subscription\n var subscription = new Subscription({\n subscription: {\n params: 1,\n inputFormatter: [formatters.inputLogFormatter],\n outputFormatter: this._decodeEventABI.bind(subOptions.event),\n // DUBLICATE, also in web3-eth\n subscriptionHandler: function (output) {\n if (output.removed) {\n this.emit('changed', output);\n }\n else {\n this.emit('data', output);\n }\n if (typeof this.callback === 'function') {\n this.callback(null, output, this);\n }\n }\n },\n type: 'eth',\n requestManager: this._requestManager\n });\n subscription.subscribe('logs', subOptions.params, subOptions.callback || function () { });\n return subscription;\n};\n/**\n * Get past events from contracts\n *\n * @method getPastEvents\n * @param {String} event\n * @param {Object} options\n * @param {Function} callback\n * @return {Object} the promievent\n */\nContract.prototype.getPastEvents = function () {\n var subOptions = this._generateEventOptions.apply(this, arguments);\n var getPastLogs = new Method({\n name: 'getPastLogs',\n call: 'eth_getLogs',\n params: 1,\n inputFormatter: [formatters.inputLogFormatter],\n outputFormatter: this._decodeEventABI.bind(subOptions.event)\n });\n getPastLogs.setRequestManager(this._requestManager);\n var call = getPastLogs.buildCall();\n getPastLogs = null;\n return call(subOptions.params, subOptions.callback);\n};\n/**\n * returns the an object with call, send, estimate functions\n *\n * @method _createTxObject\n * @returns {Object} an object with functions to call the methods\n */\nContract.prototype._createTxObject = function _createTxObject() {\n var args = Array.prototype.slice.call(arguments);\n var txObject = {};\n if (this.method.type === 'function') {\n txObject.call = this.parent._executeMethod.bind(txObject, 'call');\n txObject.call.request = this.parent._executeMethod.bind(txObject, 'call', true); // to make batch requests\n }\n txObject.send = this.parent._executeMethod.bind(txObject, 'send');\n txObject.send.request = this.parent._executeMethod.bind(txObject, 'send', true); // to make batch requests\n txObject.encodeABI = this.parent._encodeMethodABI.bind(txObject);\n txObject.estimateGas = this.parent._executeMethod.bind(txObject, 'estimate');\n if (args && this.method.inputs && args.length !== this.method.inputs.length) {\n if (this.nextMethod) {\n return this.nextMethod.apply(null, args);\n }\n throw errors.InvalidNumberOfParams(args.length, this.method.inputs.length, this.method.name);\n }\n txObject.arguments = args || [];\n txObject._method = this.method;\n txObject._parent = this.parent;\n txObject._ethAccounts = this.parent.constructor._ethAccounts || this._ethAccounts;\n if (this.deployData) {\n txObject._deployData = this.deployData;\n }\n return txObject;\n};\n/**\n * Generates the options for the execute call\n *\n * @method _processExecuteArguments\n * @param {Array} args\n * @param {Promise} defer\n */\nContract.prototype._processExecuteArguments = function _processExecuteArguments(args, defer) {\n var processedArgs = {};\n processedArgs.type = args.shift();\n // get the callback\n processedArgs.callback = this._parent._getCallback(args);\n // get block number to use for call\n if (processedArgs.type === 'call' && args[args.length - 1] !== true && (typeof args[args.length - 1] === 'string' || isFinite(args[args.length - 1])))\n processedArgs.defaultBlock = args.pop();\n // get the options\n processedArgs.options = (!!args[args.length - 1] && typeof args[args.length - 1]) === 'object' ? args.pop() : {};\n // get the generateRequest argument for batch requests\n processedArgs.generateRequest = (args[args.length - 1] === true) ? args.pop() : false;\n processedArgs.options = this._parent._getOrSetDefaultOptions(processedArgs.options);\n processedArgs.options.data = this.encodeABI();\n // add contract address\n if (!this._deployData && !utils.isAddress(this._parent.options.address))\n throw errors.ContractNoAddressDefinedError();\n if (!this._deployData)\n processedArgs.options.to = this._parent.options.address;\n // return error, if no \"data\" is specified\n if (!processedArgs.options.data)\n return utils._fireError(new Error('Couldn\\'t find a matching contract method, or the number of parameters is wrong.'), defer.eventEmitter, defer.reject, processedArgs.callback);\n return processedArgs;\n};\n/**\n * Executes a call, transact or estimateGas on a contract function\n *\n * @method _executeMethod\n * @param {String} type the type this execute function should execute\n * @param {Boolean} makeRequest if true, it simply returns the request parameters, rather than executing it\n */\nContract.prototype._executeMethod = function _executeMethod() {\n var _this = this, args = this._parent._processExecuteArguments.call(this, Array.prototype.slice.call(arguments), defer), defer = promiEvent((args.type !== 'send')), ethAccounts = _this.constructor._ethAccounts || _this._ethAccounts;\n // simple return request for batch requests\n if (args.generateRequest) {\n var payload = {\n params: [formatters.inputCallFormatter.call(this._parent, args.options)],\n callback: args.callback\n };\n if (args.type === 'call') {\n payload.params.push(formatters.inputDefaultBlockNumberFormatter.call(this._parent, args.defaultBlock));\n payload.method = 'eth_call';\n payload.format = this._parent._decodeMethodReturn.bind(null, this._method.outputs);\n }\n else {\n payload.method = 'eth_sendTransaction';\n }\n return payload;\n }\n switch (args.type) {\n case 'estimate':\n var estimateGas = (new Method({\n name: 'estimateGas',\n call: 'eth_estimateGas',\n params: 1,\n inputFormatter: [formatters.inputCallFormatter],\n outputFormatter: utils.hexToNumber,\n requestManager: _this._parent._requestManager,\n accounts: ethAccounts,\n defaultAccount: _this._parent.defaultAccount,\n defaultBlock: _this._parent.defaultBlock\n })).createFunction();\n return estimateGas(args.options, args.callback);\n case 'call':\n // TODO check errors: missing \"from\" should give error on deploy and send, call ?\n var call = (new Method({\n name: 'call',\n call: 'eth_call',\n params: 2,\n inputFormatter: [formatters.inputCallFormatter, formatters.inputDefaultBlockNumberFormatter],\n // add output formatter for decoding\n outputFormatter: function (result) {\n return _this._parent._decodeMethodReturn(_this._method.outputs, result);\n },\n requestManager: _this._parent._requestManager,\n accounts: ethAccounts,\n defaultAccount: _this._parent.defaultAccount,\n defaultBlock: _this._parent.defaultBlock,\n handleRevert: _this._parent.handleRevert,\n abiCoder: abi\n })).createFunction();\n return call(args.options, args.defaultBlock, args.callback);\n case 'send':\n // return error, if no \"from\" is specified\n if (!utils.isAddress(args.options.from)) {\n return utils._fireError(errors.ContractNoFromAddressDefinedError(), defer.eventEmitter, defer.reject, args.callback);\n }\n if (typeof this._method.payable === 'boolean' && !this._method.payable && args.options.value && args.options.value > 0) {\n return utils._fireError(new Error('Can not send value to non-payable contract method or constructor'), defer.eventEmitter, defer.reject, args.callback);\n }\n // make sure receipt logs are decoded\n var extraFormatters = {\n receiptFormatter: function (receipt) {\n if (Array.isArray(receipt.logs)) {\n // decode logs\n var events = receipt.logs.map((log) => {\n return _this._parent._decodeEventABI.call({\n name: 'ALLEVENTS',\n jsonInterface: _this._parent.options.jsonInterface\n }, log);\n });\n // make log names keys\n receipt.events = {};\n var count = 0;\n events.forEach(function (ev) {\n if (ev.event) {\n // if > 1 of the same event, don't overwrite any existing events\n if (receipt.events[ev.event]) {\n if (Array.isArray(receipt.events[ev.event])) {\n receipt.events[ev.event].push(ev);\n }\n else {\n receipt.events[ev.event] = [receipt.events[ev.event], ev];\n }\n }\n else {\n receipt.events[ev.event] = ev;\n }\n }\n else {\n receipt.events[count] = ev;\n count++;\n }\n });\n delete receipt.logs;\n }\n return receipt;\n },\n contractDeployFormatter: function (receipt) {\n var newContract = _this._parent.clone();\n newContract.options.address = receipt.contractAddress;\n return newContract;\n }\n };\n var sendTransaction = (new Method({\n name: 'sendTransaction',\n call: 'eth_sendTransaction',\n params: 1,\n inputFormatter: [formatters.inputTransactionFormatter],\n requestManager: _this._parent._requestManager,\n accounts: _this.constructor._ethAccounts || _this._ethAccounts,\n defaultAccount: _this._parent.defaultAccount,\n defaultBlock: _this._parent.defaultBlock,\n transactionBlockTimeout: _this._parent.transactionBlockTimeout,\n transactionConfirmationBlocks: _this._parent.transactionConfirmationBlocks,\n transactionPollingTimeout: _this._parent.transactionPollingTimeout,\n defaultCommon: _this._parent.defaultCommon,\n defaultChain: _this._parent.defaultChain,\n defaultHardfork: _this._parent.defaultHardfork,\n handleRevert: _this._parent.handleRevert,\n extraFormatters: extraFormatters,\n abiCoder: abi\n })).createFunction();\n return sendTransaction(args.options, args.callback);\n default:\n throw new Error('Method \"' + args.type + '\" not implemented.');\n }\n};\nmodule.exports = Contract;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file index.js\n * @author Marek Kotewicz \n * @author Fabian Vogelsteller \n * @date 2018\n */\nvar Buffer = require('buffer').Buffer;\nvar utils = require('web3-utils');\nvar EthersAbiCoder = require('@ethersproject/abi').AbiCoder;\nvar ParamType = require('@ethersproject/abi').ParamType;\nvar ethersAbiCoder = new EthersAbiCoder(function (type, value) {\n if (type.match(/^u?int/) && !Array.isArray(value) && (!(!!value && typeof value === 'object') || value.constructor.name !== 'BN')) {\n return value.toString();\n }\n return value;\n});\n// result method\nfunction Result() {\n}\n/**\n * ABICoder prototype should be used to encode/decode solidity params of any type\n */\nvar ABICoder = function () {\n};\n/**\n * Encodes the function name to its ABI representation, which are the first 4 bytes of the sha3 of the function name including types.\n *\n * @method encodeFunctionSignature\n * @param {String|Object} functionName\n * @return {String} encoded function name\n */\nABICoder.prototype.encodeFunctionSignature = function (functionName) {\n if (typeof functionName === 'function' || typeof functionName === 'object' && functionName) {\n functionName = utils._jsonInterfaceMethodToString(functionName);\n }\n return utils.sha3(functionName).slice(0, 10);\n};\n/**\n * Encodes the function name to its ABI representation, which are the first 4 bytes of the sha3 of the function name including types.\n *\n * @method encodeEventSignature\n * @param {String|Object} functionName\n * @return {String} encoded function name\n */\nABICoder.prototype.encodeEventSignature = function (functionName) {\n if (typeof functionName === 'function' || typeof functionName === 'object' && functionName) {\n functionName = utils._jsonInterfaceMethodToString(functionName);\n }\n return utils.sha3(functionName);\n};\n/**\n * Should be used to encode plain param\n *\n * @method encodeParameter\n *\n * @param {String|Object} type\n * @param {any} param\n *\n * @return {String} encoded plain param\n */\nABICoder.prototype.encodeParameter = function (type, param) {\n return this.encodeParameters([type], [param]);\n};\n/**\n * Should be used to encode list of params\n *\n * @method encodeParameters\n *\n * @param {Array} types\n * @param {Array} params\n *\n * @return {String} encoded list of params\n */\nABICoder.prototype.encodeParameters = function (types, params) {\n var self = this;\n types = self.mapTypes(types);\n params = params.map(function (param, index) {\n let type = types[index];\n if (typeof type === 'object' && type.type) {\n // We may get a named type of shape {name, type}\n type = type.type;\n }\n param = self.formatParam(type, param);\n // Format params for tuples\n if (typeof type === 'string' && type.includes('tuple')) {\n const coder = ethersAbiCoder._getCoder(ParamType.from(type));\n const modifyParams = (coder, param) => {\n if (coder.name === 'array') {\n return param.map(p => modifyParams(ethersAbiCoder._getCoder(ParamType.from(coder.type.replace('[]', ''))), p));\n }\n coder.coders.forEach((c, i) => {\n if (c.name === 'tuple') {\n modifyParams(c, param[i]);\n }\n else {\n param[i] = self.formatParam(c.name, param[i]);\n }\n });\n };\n modifyParams(coder, param);\n }\n return param;\n });\n return ethersAbiCoder.encode(types, params);\n};\n/**\n * Map types if simplified format is used\n *\n * @method mapTypes\n * @param {Array} types\n * @return {Array}\n */\nABICoder.prototype.mapTypes = function (types) {\n var self = this;\n var mappedTypes = [];\n types.forEach(function (type) {\n // Remap `function` type params to bytes24 since Ethers does not\n // recognize former type. Solidity docs say `Function` is a bytes24\n // encoding the contract address followed by the function selector hash.\n if (typeof type === 'object' && type.type === 'function') {\n type = Object.assign({}, type, { type: \"bytes24\" });\n }\n if (self.isSimplifiedStructFormat(type)) {\n var structName = Object.keys(type)[0];\n mappedTypes.push(Object.assign(self.mapStructNameAndType(structName), {\n components: self.mapStructToCoderFormat(type[structName])\n }));\n return;\n }\n mappedTypes.push(type);\n });\n return mappedTypes;\n};\n/**\n * Check if type is simplified struct format\n *\n * @method isSimplifiedStructFormat\n * @param {string | Object} type\n * @returns {boolean}\n */\nABICoder.prototype.isSimplifiedStructFormat = function (type) {\n return typeof type === 'object' && typeof type.components === 'undefined' && typeof type.name === 'undefined';\n};\n/**\n * Maps the correct tuple type and name when the simplified format in encode/decodeParameter is used\n *\n * @method mapStructNameAndType\n * @param {string} structName\n * @return {{type: string, name: *}}\n */\nABICoder.prototype.mapStructNameAndType = function (structName) {\n var type = 'tuple';\n if (structName.indexOf('[]') > -1) {\n type = 'tuple[]';\n structName = structName.slice(0, -2);\n }\n return { type: type, name: structName };\n};\n/**\n * Maps the simplified format in to the expected format of the ABICoder\n *\n * @method mapStructToCoderFormat\n * @param {Object} struct\n * @return {Array}\n */\nABICoder.prototype.mapStructToCoderFormat = function (struct) {\n var self = this;\n var components = [];\n Object.keys(struct).forEach(function (key) {\n if (typeof struct[key] === 'object') {\n components.push(Object.assign(self.mapStructNameAndType(key), {\n components: self.mapStructToCoderFormat(struct[key])\n }));\n return;\n }\n components.push({\n name: key,\n type: struct[key]\n });\n });\n return components;\n};\n/**\n * Handle some formatting of params for backwards compatability with Ethers V4\n *\n * @method formatParam\n * @param {String} - type\n * @param {any} - param\n * @return {any} - The formatted param\n */\nABICoder.prototype.formatParam = function (type, param) {\n const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\n const paramTypeBytesArray = new RegExp(/^bytes([0-9]*)\\[\\]$/);\n const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\n const paramTypeNumberArray = new RegExp(/^(u?int)([0-9]*)\\[\\]$/);\n // Format BN to string\n if (utils.isBN(param) || utils.isBigNumber(param)) {\n return param.toString(10);\n }\n if (type.match(paramTypeBytesArray) || type.match(paramTypeNumberArray)) {\n return param.map(p => this.formatParam(type.replace('[]', ''), p));\n }\n // Format correct width for u?int[0-9]*\n let match = type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size / 8 < param.length) {\n // pad to correct bit width\n param = utils.leftPad(param, size);\n }\n }\n // Format correct length for bytes[0-9]+\n match = type.match(paramTypeBytes);\n if (match) {\n if (Buffer.isBuffer(param)) {\n param = utils.toHex(param);\n }\n // format to correct length\n let size = parseInt(match[1]);\n if (size) {\n let maxSize = size * 2;\n if (param.substring(0, 2) === '0x') {\n maxSize += 2;\n }\n if (param.length < maxSize) {\n // pad to correct length\n param = utils.rightPad(param, size * 2);\n }\n }\n // format odd-length bytes to even-length\n if (param.length % 2 === 1) {\n param = '0x0' + param.substring(2);\n }\n }\n return param;\n};\n/**\n * Encodes a function call from its json interface and parameters.\n *\n * @method encodeFunctionCall\n * @param {Array} jsonInterface\n * @param {Array} params\n * @return {String} The encoded ABI for this function call\n */\nABICoder.prototype.encodeFunctionCall = function (jsonInterface, params) {\n return this.encodeFunctionSignature(jsonInterface) + this.encodeParameters(jsonInterface.inputs, params).replace('0x', '');\n};\n/**\n * Should be used to decode bytes to plain param\n *\n * @method decodeParameter\n * @param {String} type\n * @param {String} bytes\n * @return {Object} plain param\n */\nABICoder.prototype.decodeParameter = function (type, bytes) {\n return this.decodeParameters([type], bytes)[0];\n};\n/**\n * Should be used to decode list of params\n *\n * @method decodeParameter\n * @param {Array} outputs\n * @param {String} bytes\n * @return {Array} array of plain params\n */\nABICoder.prototype.decodeParameters = function (outputs, bytes) {\n return this.decodeParametersWith(outputs, bytes, false);\n};\n/**\n * Should be used to decode list of params\n *\n * @method decodeParameter\n * @param {Array} outputs\n * @param {String} bytes\n * @param {Boolean} loose\n * @return {Array} array of plain params\n */\nABICoder.prototype.decodeParametersWith = function (outputs, bytes, loose) {\n if (outputs.length > 0 && (!bytes || bytes === '0x' || bytes === '0X')) {\n throw new Error('Returned values aren\\'t valid, did it run Out of Gas? ' +\n 'You might also see this error if you are not using the ' +\n 'correct ABI for the contract you are retrieving data from, ' +\n 'requesting data from a block number that does not exist, ' +\n 'or querying a node which is not fully synced.');\n }\n var res = ethersAbiCoder.decode(this.mapTypes(outputs), '0x' + bytes.replace(/0x/i, ''), loose);\n var returnValue = new Result();\n returnValue.__length__ = 0;\n outputs.forEach(function (output, i) {\n var decodedValue = res[returnValue.__length__];\n decodedValue = (decodedValue === '0x') ? null : decodedValue;\n returnValue[i] = decodedValue;\n if ((typeof output === 'function' || !!output && typeof output === 'object') && output.name) {\n returnValue[output.name] = decodedValue;\n }\n returnValue.__length__++;\n });\n return returnValue;\n};\n/**\n * Decodes events non- and indexed parameters.\n *\n * @method decodeLog\n * @param {Object} inputs\n * @param {String} data\n * @param {Array} topics\n * @return {Array} array of plain params\n */\nABICoder.prototype.decodeLog = function (inputs, data, topics) {\n var _this = this;\n topics = Array.isArray(topics) ? topics : [topics];\n data = data || '';\n var notIndexedInputs = [];\n var indexedParams = [];\n var topicCount = 0;\n // TODO check for anonymous logs?\n inputs.forEach(function (input, i) {\n if (input.indexed) {\n indexedParams[i] = (['bool', 'int', 'uint', 'address', 'fixed', 'ufixed'].find(function (staticType) {\n return input.type.indexOf(staticType) !== -1;\n })) ? _this.decodeParameter(input.type, topics[topicCount]) : topics[topicCount];\n topicCount++;\n }\n else {\n notIndexedInputs[i] = input;\n }\n });\n var nonIndexedData = data;\n var notIndexedParams = (nonIndexedData) ? this.decodeParametersWith(notIndexedInputs, nonIndexedData, true) : [];\n var returnValue = new Result();\n returnValue.__length__ = 0;\n inputs.forEach(function (res, i) {\n returnValue[i] = (res.type === 'string') ? '' : null;\n if (typeof notIndexedParams[i] !== 'undefined') {\n returnValue[i] = notIndexedParams[i];\n }\n if (typeof indexedParams[i] !== 'undefined') {\n returnValue[i] = indexedParams[i];\n }\n if (res.name) {\n returnValue[res.name] = returnValue[i];\n }\n returnValue.__length__++;\n });\n return returnValue;\n};\nvar coder = new ABICoder();\nmodule.exports = coder;\n","\"use strict\";\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { Reader, Writer } from \"./coders/abstract-coder\";\nimport { AddressCoder } from \"./coders/address\";\nimport { ArrayCoder } from \"./coders/array\";\nimport { BooleanCoder } from \"./coders/boolean\";\nimport { BytesCoder } from \"./coders/bytes\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes\";\nimport { NullCoder } from \"./coders/null\";\nimport { NumberCoder } from \"./coders/number\";\nimport { StringCoder } from \"./coders/string\";\nimport { TupleCoder } from \"./coders/tuple\";\nimport { ParamType } from \"./fragments\";\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nexport class AbiCoder {\n constructor(coerceFunc) {\n logger.checkNew(new.target, AbiCoder);\n defineReadOnly(this, \"coerceFunc\", coerceFunc || null);\n }\n _getCoder(param) {\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"array\":\n return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);\n case \"tuple\":\n return new TupleCoder((param.components || []).map((component) => {\n return this._getCoder(component);\n }), param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size === 0 || size > 256 || (size % 8) !== 0) {\n logger.throwArgumentError(\"invalid \" + match[1] + \" bit length\", \"param\", param);\n }\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n if (size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes length\", \"param\", param);\n }\n return new FixedBytesCoder(size, param.name);\n }\n return logger.throwArgumentError(\"invalid type\", \"type\", param.type);\n }\n _getWordSize() { return 32; }\n _getReader(data, allowLoose) {\n return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);\n }\n _getWriter() {\n return new Writer(this._getWordSize());\n }\n encode(types, values) {\n if (types.length !== values.length) {\n logger.throwError(\"types/values length mismatch\", Logger.errors.INVALID_ARGUMENT, {\n count: { types: types.length, values: values.length },\n value: { types: types, values: values }\n });\n }\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = this._getWriter();\n coder.encode(writer, values);\n return writer.data;\n }\n decode(types, data, loose) {\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(this._getReader(arrayify(data), loose));\n }\n}\nexport const defaultAbiCoder = new AbiCoder();\n//# sourceMappingURL=abi-coder.js.map","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\nimport { Coder, Writer } from \"./abstract-coder\";\nimport { AnonymousCoder } from \"./anonymous\";\nexport function pack(writer, coders, values) {\n let arrayValues = null;\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n if (!name) {\n logger.throwError(\"cannot encode object for signature with missing names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n if (unique[name]) {\n logger.throwError(\"cannot encode object for signature with duplicate names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n unique[name] = true;\n return values[name];\n });\n }\n else {\n logger.throwArgumentError(\"invalid tuple value\", \"tuple\", values);\n }\n if (coders.length !== arrayValues.length) {\n logger.throwArgumentError(\"types/value length mismatch\", \"tuple\", values);\n }\n let staticWriter = new Writer(writer.wordSize);\n let dynamicWriter = new Writer(writer.wordSize);\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\nexport function unpack(reader, coders) {\n let values = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readValue();\n let offsetReader = baseReader.subReader(offset.toNumber());\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value != undefined) {\n values.push(value);\n }\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add any named parameters (i.e. tuples)\n coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n const value = values[index];\n if (value instanceof Error) {\n Object.defineProperty(values, name, {\n get: () => { throw value; }\n });\n }\n else {\n values[name] = value;\n }\n });\n for (let i = 0; i < values.length; i++) {\n const value = values[i];\n if (value instanceof Error) {\n Object.defineProperty(values, i, {\n get: () => { throw value; }\n });\n }\n }\n return Object.freeze(values);\n}\nexport class ArrayCoder extends Coder {\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n this.coder = coder;\n this.length = length;\n }\n encode(writer, value) {\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n logger.checkArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readValue().toNumber();\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return reader.coerce(this.name, unpack(reader, coders));\n }\n}\n//# sourceMappingURL=array.js.map","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\nexport class DynamicBytesCoder extends Coder {\n constructor(type, localName) {\n super(type, type, localName, true);\n }\n encode(writer, value) {\n value = arrayify(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readValue().toNumber(), true);\n }\n}\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"bytes\", localName);\n }\n decode(reader) {\n return reader.coerce(this.name, hexlify(super.decode(reader)));\n }\n}\n//# sourceMappingURL=bytes.js.map","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nexport function id(text) {\n return keccak256(toUtf8Bytes(text));\n}\n//# sourceMappingURL=id.js.map","var sha3 = require('js-sha3').keccak_256\nvar uts46 = require('idna-uts46-hx')\n\nfunction namehash (inputName) {\n // Reject empty names:\n var node = ''\n for (var i = 0; i < 32; i++) {\n node += '00'\n }\n\n name = normalize(inputName)\n\n if (name) {\n var labels = name.split('.')\n\n for(var i = labels.length - 1; i >= 0; i--) {\n var labelSha = sha3(labels[i])\n node = sha3(new Buffer(node + labelSha, 'hex'))\n }\n }\n\n return '0x' + node\n}\n\nfunction normalize(name) {\n return name ? uts46.toUnicode(name, {useStd3ASCII: true, transitional: false}) : name\n}\n\nexports.hash = namehash\nexports.normalize = normalize\n","'use strict'\nconst varint = require('varint')\n\nmodule.exports = {\n numberToBuffer,\n bufferToNumber,\n varintBufferEncode,\n varintBufferDecode,\n varintEncode\n}\n\nfunction bufferToNumber (buf) {\n return parseInt(buf.toString('hex'), 16)\n}\n\nfunction numberToBuffer (num) {\n let hexString = num.toString(16)\n if (hexString.length % 2 === 1) {\n hexString = '0' + hexString\n }\n return Buffer.from(hexString, 'hex')\n}\n\nfunction varintBufferEncode (input) {\n return Buffer.from(varint.encode(bufferToNumber(input)))\n}\n\nfunction varintBufferDecode (input) {\n return numberToBuffer(varint.decode(input))\n}\n\nfunction varintEncode (num) {\n return Buffer.from(varint.encode(num))\n}\n","'use strict'\n\nconst { Buffer } = require('buffer')\nconst mh = require('multihashes')\nconst multibase = require('multibase')\nconst multicodec = require('multicodec')\nconst codecs = require('multicodec/src/base-table.json')\nconst CIDUtil = require('./cid-util')\nconst withIs = require('class-is')\n\n/**\n * @typedef {Object} SerializedCID\n * @param {string} codec\n * @param {number} version\n * @param {Buffer} multihash\n */\n\n/**\n * Test if the given input is a CID.\n * @function isCID\n * @memberof CID\n * @static\n * @param {any} other\n * @returns {bool}\n */\n\n/**\n * Class representing a CID ``\n * , as defined in [ipld/cid](https://github.com/multiformats/cid).\n * @class CID\n */\nclass CID {\n /**\n * Create a new CID.\n *\n * The algorithm for argument input is roughly:\n * ```\n * if (cid)\n * -> create a copy\n * else if (str)\n * if (1st char is on multibase table) -> CID String\n * else -> bs58 encoded multihash\n * else if (Buffer)\n * if (1st byte is 0 or 1) -> CID\n * else -> multihash\n * else if (Number)\n * -> construct CID by parts\n * ```\n *\n * @param {string|Buffer|CID} version\n * @param {string} [codec]\n * @param {Buffer} [multihash]\n * @param {string} [multibaseName]\n *\n * @example\n * new CID(, , , )\n * new CID()\n * new CID()\n * new CID()\n * new CID()\n * new CID()\n */\n constructor (version, codec, multihash, multibaseName) {\n if (_CID.isCID(version)) {\n // version is an exising CID instance\n const cid = version\n this.version = cid.version\n this.codec = cid.codec\n this.multihash = Buffer.from(cid.multihash)\n // Default guard for when a CID < 0.7 is passed with no multibaseName\n this.multibaseName = cid.multibaseName || (cid.version === 0 ? 'base58btc' : 'base32')\n return\n }\n\n if (typeof version === 'string') {\n // e.g. 'base32' or false\n const baseName = multibase.isEncoded(version)\n if (baseName) {\n // version is a CID String encoded with multibase, so v1\n const cid = multibase.decode(version)\n this.version = parseInt(cid.slice(0, 1).toString('hex'), 16)\n this.codec = multicodec.getCodec(cid.slice(1))\n this.multihash = multicodec.rmPrefix(cid.slice(1))\n this.multibaseName = baseName\n } else {\n // version is a base58btc string multihash, so v0\n this.version = 0\n this.codec = 'dag-pb'\n this.multihash = mh.fromB58String(version)\n this.multibaseName = 'base58btc'\n }\n CID.validateCID(this)\n Object.defineProperty(this, 'string', { value: version })\n return\n }\n\n if (Buffer.isBuffer(version)) {\n const firstByte = version.slice(0, 1)\n const v = parseInt(firstByte.toString('hex'), 16)\n if (v === 1) {\n // version is a CID buffer\n const cid = version\n this.version = v\n this.codec = multicodec.getCodec(cid.slice(1))\n this.multihash = multicodec.rmPrefix(cid.slice(1))\n this.multibaseName = 'base32'\n } else {\n // version is a raw multihash buffer, so v0\n this.version = 0\n this.codec = 'dag-pb'\n this.multihash = version\n this.multibaseName = 'base58btc'\n }\n CID.validateCID(this)\n return\n }\n\n // otherwise, assemble the CID from the parameters\n\n /**\n * @type {number}\n */\n this.version = version\n\n /**\n * @type {string}\n */\n this.codec = codec\n\n /**\n * @type {Buffer}\n */\n this.multihash = multihash\n\n /**\n * @type {string}\n */\n this.multibaseName = multibaseName || (version === 0 ? 'base58btc' : 'base32')\n\n CID.validateCID(this)\n }\n\n /**\n * The CID as a `Buffer`\n *\n * @return {Buffer}\n * @readonly\n *\n * @memberOf CID\n */\n get buffer () {\n let buffer = this._buffer\n\n if (!buffer) {\n if (this.version === 0) {\n buffer = this.multihash\n } else if (this.version === 1) {\n buffer = Buffer.concat([\n Buffer.from('01', 'hex'),\n multicodec.getCodeVarint(this.codec),\n this.multihash\n ])\n } else {\n throw new Error('unsupported version')\n }\n\n // Cache this buffer so it doesn't have to be recreated\n Object.defineProperty(this, '_buffer', { value: buffer })\n }\n\n return buffer\n }\n\n /**\n * Get the prefix of the CID.\n *\n * @returns {Buffer}\n * @readonly\n */\n get prefix () {\n return Buffer.concat([\n Buffer.from(`0${this.version}`, 'hex'),\n multicodec.getCodeVarint(this.codec),\n mh.prefix(this.multihash)\n ])\n }\n\n /**\n * Convert to a CID of version `0`.\n *\n * @returns {CID}\n */\n toV0 () {\n if (this.codec !== 'dag-pb') {\n throw new Error('Cannot convert a non dag-pb CID to CIDv0')\n }\n\n const { name, length } = mh.decode(this.multihash)\n\n if (name !== 'sha2-256') {\n throw new Error('Cannot convert non sha2-256 multihash CID to CIDv0')\n }\n\n if (length !== 32) {\n throw new Error('Cannot convert non 32 byte multihash CID to CIDv0')\n }\n\n return new _CID(0, this.codec, this.multihash)\n }\n\n /**\n * Convert to a CID of version `1`.\n *\n * @returns {CID}\n */\n toV1 () {\n return new _CID(1, this.codec, this.multihash)\n }\n\n /**\n * Encode the CID into a string.\n *\n * @param {string} [base=this.multibaseName] - Base encoding to use.\n * @returns {string}\n */\n toBaseEncodedString (base = this.multibaseName) {\n if (this.string && base === this.multibaseName) {\n return this.string\n }\n let str = null\n if (this.version === 0) {\n if (base !== 'base58btc') {\n throw new Error('not supported with CIDv0, to support different bases, please migrate the instance do CIDv1, you can do that through cid.toV1()')\n }\n str = mh.toB58String(this.multihash)\n } else if (this.version === 1) {\n str = multibase.encode(base, this.buffer).toString()\n } else {\n throw new Error('unsupported version')\n }\n if (base === this.multibaseName) {\n // cache the string value\n Object.defineProperty(this, 'string', { value: str })\n }\n return str\n }\n\n /**\n * CID(QmdfTbBqBPQ7VNxZEYEj14VmRuZBkqFbiwReogJgS1zR1n)\n *\n * @returns {String}\n */\n [Symbol.for('nodejs.util.inspect.custom')] () {\n return 'CID(' + this.toString() + ')'\n }\n\n toString (base) {\n return this.toBaseEncodedString(base)\n }\n\n /**\n * Serialize to a plain object.\n *\n * @returns {SerializedCID}\n */\n toJSON () {\n return {\n codec: this.codec,\n version: this.version,\n hash: this.multihash\n }\n }\n\n /**\n * Compare equality with another CID.\n *\n * @param {CID} other\n * @returns {bool}\n */\n equals (other) {\n return this.codec === other.codec &&\n this.version === other.version &&\n this.multihash.equals(other.multihash)\n }\n\n /**\n * Test if the given input is a valid CID object.\n * Throws if it is not.\n *\n * @param {any} other\n * @returns {void}\n */\n static validateCID (other) {\n const errorMsg = CIDUtil.checkCIDComponents(other)\n if (errorMsg) {\n throw new Error(errorMsg)\n }\n }\n}\n\nconst _CID = withIs(CID, {\n className: 'CID',\n symbolName: '@ipld/js-cid/CID'\n})\n\n_CID.codecs = codecs\n\nmodule.exports = _CID\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n// @ts-ignore\nvar _Buffer = require('safe-buffer').Buffer\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (Array.isArray(source) || source instanceof Uint8Array) { source = _Buffer.from(source) }\n if (!_Buffer.isBuffer(source)) { throw new TypeError('Expected Buffer') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return _Buffer.alloc(0) }\n var psz = 0\n // Skip leading spaces.\n if (source[psz] === ' ') { return }\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip trailing spaces.\n if (source[psz] === ' ') { return }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = _Buffer.allocUnsafe(zeroes + (size - it4))\n vch.fill(0x00, 0, zeroes)\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","'use strict'\nconst varint = require('varint')\nconst { Buffer } = require('buffer')\n\nmodule.exports = {\n numberToBuffer,\n bufferToNumber,\n varintBufferEncode,\n varintBufferDecode,\n varintEncode\n}\n\nfunction bufferToNumber (buf) {\n return parseInt(buf.toString('hex'), 16)\n}\n\nfunction numberToBuffer (num) {\n let hexString = num.toString(16)\n if (hexString.length % 2 === 1) {\n hexString = '0' + hexString\n }\n return Buffer.from(hexString, 'hex')\n}\n\nfunction varintBufferEncode (input) {\n return Buffer.from(varint.encode(bufferToNumber(input)))\n}\n\nfunction varintBufferDecode (input) {\n return numberToBuffer(varint.decode(input))\n}\n\nfunction varintEncode (num) {\n return Buffer.from(varint.encode(num))\n}\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar core = require('web3-core');\nvar Method = require('web3-core-method');\nvar utils = require('web3-utils');\nvar Net = require('web3-net');\nvar formatters = require('web3-core-helpers').formatters;\nvar Personal = function Personal() {\n var _this = this;\n // sets _requestmanager\n core.packageInit(this, arguments);\n this.net = new Net(this);\n var defaultAccount = null;\n var defaultBlock = 'latest';\n Object.defineProperty(this, 'defaultAccount', {\n get: function () {\n return defaultAccount;\n },\n set: function (val) {\n if (val) {\n defaultAccount = utils.toChecksumAddress(formatters.inputAddressFormatter(val));\n }\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultAccount = defaultAccount;\n });\n return val;\n },\n enumerable: true\n });\n Object.defineProperty(this, 'defaultBlock', {\n get: function () {\n return defaultBlock;\n },\n set: function (val) {\n defaultBlock = val;\n // update defaultBlock\n methods.forEach(function (method) {\n method.defaultBlock = defaultBlock;\n });\n return val;\n },\n enumerable: true\n });\n var methods = [\n new Method({\n name: 'getAccounts',\n call: 'personal_listAccounts',\n params: 0,\n outputFormatter: utils.toChecksumAddress\n }),\n new Method({\n name: 'newAccount',\n call: 'personal_newAccount',\n params: 1,\n inputFormatter: [null],\n outputFormatter: utils.toChecksumAddress\n }),\n new Method({\n name: 'unlockAccount',\n call: 'personal_unlockAccount',\n params: 3,\n inputFormatter: [formatters.inputAddressFormatter, null, null]\n }),\n new Method({\n name: 'lockAccount',\n call: 'personal_lockAccount',\n params: 1,\n inputFormatter: [formatters.inputAddressFormatter]\n }),\n new Method({\n name: 'importRawKey',\n call: 'personal_importRawKey',\n params: 2\n }),\n new Method({\n name: 'sendTransaction',\n call: 'personal_sendTransaction',\n params: 2,\n inputFormatter: [formatters.inputTransactionFormatter, null]\n }),\n new Method({\n name: 'signTransaction',\n call: 'personal_signTransaction',\n params: 2,\n inputFormatter: [formatters.inputTransactionFormatter, null]\n }),\n new Method({\n name: 'sign',\n call: 'personal_sign',\n params: 3,\n inputFormatter: [formatters.inputSignFormatter, formatters.inputAddressFormatter, null]\n }),\n new Method({\n name: 'ecRecover',\n call: 'personal_ecRecover',\n params: 2,\n inputFormatter: [formatters.inputSignFormatter, null]\n })\n ];\n methods.forEach(function (method) {\n method.attachToObject(_this);\n method.setRequestManager(_this._requestManager);\n method.defaultBlock = _this.defaultBlock;\n method.defaultAccount = _this.defaultAccount;\n });\n};\ncore.addProviders(Personal);\nmodule.exports = Personal;\n","const A = require(\"./array.js\");\n\nconst at = (bytes, index) => parseInt(bytes.slice(index * 2 + 2, index * 2 + 4), 16);\n\nconst random = bytes => {\n let rnd;\n if (typeof window !== \"undefined\" && window.crypto && window.crypto.getRandomValues) rnd = window.crypto.getRandomValues(new Uint8Array(bytes));else if (typeof require !== \"undefined\") rnd = require(\"c\" + \"rypto\").randomBytes(bytes);else throw \"Safe random numbers not available.\";\n let hex = \"0x\";\n for (let i = 0; i < bytes; ++i) hex += (\"00\" + rnd[i].toString(16)).slice(-2);\n return hex;\n};\n\nconst length = a => (a.length - 2) / 2;\n\nconst flatten = a => \"0x\" + a.reduce((r, s) => r + s.slice(2), \"\");\n\nconst slice = (i, j, bs) => \"0x\" + bs.slice(i * 2 + 2, j * 2 + 2);\n\nconst reverse = hex => {\n let rev = \"0x\";\n for (let i = 0, l = length(hex); i < l; ++i) {\n rev += hex.slice((l - i) * 2, (l - i + 1) * 2);\n }\n return rev;\n};\n\nconst pad = (l, hex) => hex.length === l * 2 + 2 ? hex : pad(l, \"0x\" + \"0\" + hex.slice(2));\n\nconst padRight = (l, hex) => hex.length === l * 2 + 2 ? hex : padRight(l, hex + \"0\");\n\nconst toArray = hex => {\n let arr = [];\n for (let i = 2, l = hex.length; i < l; i += 2) arr.push(parseInt(hex.slice(i, i + 2), 16));\n return arr;\n};\n\nconst fromArray = arr => {\n let hex = \"0x\";\n for (let i = 0, l = arr.length; i < l; ++i) {\n let b = arr[i];\n hex += (b < 16 ? \"0\" : \"\") + b.toString(16);\n }\n return hex;\n};\n\nconst toUint8Array = hex => new Uint8Array(toArray(hex));\n\nconst fromUint8Array = arr => fromArray([].slice.call(arr, 0));\n\nconst fromNumber = num => {\n let hex = num.toString(16);\n return hex.length % 2 === 0 ? \"0x\" + hex : \"0x0\" + hex;\n};\n\nconst toNumber = hex => parseInt(hex.slice(2), 16);\n\nconst concat = (a, b) => a.concat(b.slice(2));\n\nconst fromNat = bn => bn === \"0x0\" ? \"0x\" : bn.length % 2 === 0 ? bn : \"0x0\" + bn.slice(2);\n\nconst toNat = bn => bn[2] === \"0\" ? \"0x\" + bn.slice(3) : bn;\n\nconst fromAscii = ascii => {\n let hex = \"0x\";\n for (let i = 0; i < ascii.length; ++i) hex += (\"00\" + ascii.charCodeAt(i).toString(16)).slice(-2);\n return hex;\n};\n\nconst toAscii = hex => {\n let ascii = \"\";\n for (let i = 2; i < hex.length; i += 2) ascii += String.fromCharCode(parseInt(hex.slice(i, i + 2), 16));\n return ascii;\n};\n\n// From https://gist.github.com/pascaldekloe/62546103a1576803dade9269ccf76330\nconst fromString = s => {\n const makeByte = uint8 => {\n const b = uint8.toString(16);\n return b.length < 2 ? \"0\" + b : b;\n };\n let bytes = \"0x\";\n for (let ci = 0; ci != s.length; ci++) {\n let c = s.charCodeAt(ci);\n if (c < 128) {\n bytes += makeByte(c);\n continue;\n }\n if (c < 2048) {\n bytes += makeByte(c >> 6 | 192);\n } else {\n if (c > 0xd7ff && c < 0xdc00) {\n if (++ci == s.length) return null;\n let c2 = s.charCodeAt(ci);\n if (c2 < 0xdc00 || c2 > 0xdfff) return null;\n c = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n bytes += makeByte(c >> 18 | 240);\n bytes += makeByte(c >> 12 & 63 | 128);\n } else {\n // c <= 0xffff\n bytes += makeByte(c >> 12 | 224);\n }\n bytes += makeByte(c >> 6 & 63 | 128);\n }\n bytes += makeByte(c & 63 | 128);\n }\n return bytes;\n};\n\nconst toString = bytes => {\n let s = '';\n let i = 0;\n let l = length(bytes);\n while (i < l) {\n let c = at(bytes, i++);\n if (c > 127) {\n if (c > 191 && c < 224) {\n if (i >= l) return null;\n c = (c & 31) << 6 | at(bytes, i) & 63;\n } else if (c > 223 && c < 240) {\n if (i + 1 >= l) return null;\n c = (c & 15) << 12 | (at(bytes, i) & 63) << 6 | at(bytes, ++i) & 63;\n } else if (c > 239 && c < 248) {\n if (i + 2 >= l) return null;\n c = (c & 7) << 18 | (at(bytes, i) & 63) << 12 | (at(bytes, ++i) & 63) << 6 | at(bytes, ++i) & 63;\n } else return null;\n ++i;\n }\n if (c <= 0xffff) s += String.fromCharCode(c);else if (c <= 0x10ffff) {\n c -= 0x10000;\n s += String.fromCharCode(c >> 10 | 0xd800);\n s += String.fromCharCode(c & 0x3FF | 0xdc00);\n } else return null;\n }\n return s;\n};\n\nmodule.exports = {\n random,\n length,\n concat,\n flatten,\n slice,\n reverse,\n pad,\n padRight,\n fromAscii,\n toAscii,\n fromString,\n toString,\n fromNumber,\n toNumber,\n fromNat,\n toNat,\n fromArray,\n toArray,\n fromUint8Array,\n toUint8Array\n};","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","module.exports = require('./lib')(require('./lib/elliptic'))\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AccessLists = void 0;\nvar ethereumjs_util_1 = require(\"ethereumjs-util\");\nvar types_1 = require(\"./types\");\nvar AccessLists = /** @class */ (function () {\n function AccessLists() {\n }\n AccessLists.getAccessListData = function (accessList) {\n var AccessListJSON;\n var bufferAccessList;\n if (accessList && types_1.isAccessList(accessList)) {\n AccessListJSON = accessList;\n var newAccessList = [];\n for (var i = 0; i < accessList.length; i++) {\n var item = accessList[i];\n var addressBuffer = ethereumjs_util_1.toBuffer(item.address);\n var storageItems = [];\n for (var index = 0; index < item.storageKeys.length; index++) {\n storageItems.push(ethereumjs_util_1.toBuffer(item.storageKeys[index]));\n }\n newAccessList.push([addressBuffer, storageItems]);\n }\n bufferAccessList = newAccessList;\n }\n else {\n bufferAccessList = accessList !== null && accessList !== void 0 ? accessList : [];\n // build the JSON\n var json = [];\n for (var i = 0; i < bufferAccessList.length; i++) {\n var data = bufferAccessList[i];\n var address = ethereumjs_util_1.bufferToHex(data[0]);\n var storageKeys = [];\n for (var item = 0; item < data[1].length; item++) {\n storageKeys.push(ethereumjs_util_1.bufferToHex(data[1][item]));\n }\n var jsonItem = {\n address: address,\n storageKeys: storageKeys,\n };\n json.push(jsonItem);\n }\n AccessListJSON = json;\n }\n return {\n AccessListJSON: AccessListJSON,\n accessList: bufferAccessList,\n };\n };\n AccessLists.verifyAccessList = function (accessList) {\n for (var key = 0; key < accessList.length; key++) {\n var accessListItem = accessList[key];\n var address = accessListItem[0];\n var storageSlots = accessListItem[1];\n if (accessListItem[2] !== undefined) {\n throw new Error('Access list item cannot have 3 elements. It can only have an address, and an array of storage slots.');\n }\n if (address.length != 20) {\n throw new Error('Invalid EIP-2930 transaction: address length should be 20 bytes');\n }\n for (var storageSlot = 0; storageSlot < storageSlots.length; storageSlot++) {\n if (storageSlots[storageSlot].length != 32) {\n throw new Error('Invalid EIP-2930 transaction: storage slot length should be 32 bytes');\n }\n }\n }\n };\n AccessLists.getAccessListJSON = function (accessList) {\n var accessListJSON = [];\n for (var index = 0; index < accessList.length; index++) {\n var item = accessList[index];\n var JSONItem = {\n address: '0x' + ethereumjs_util_1.setLengthLeft(item[0], 20).toString('hex'),\n storageKeys: [],\n };\n var storageSlots = item[1];\n for (var slot = 0; slot < storageSlots.length; slot++) {\n var storageSlot = storageSlots[slot];\n JSONItem.storageKeys.push('0x' + ethereumjs_util_1.setLengthLeft(storageSlot, 32).toString('hex'));\n }\n accessListJSON.push(JSONItem);\n }\n return accessListJSON;\n };\n AccessLists.getDataFeeEIP2930 = function (accessList, common) {\n var accessListStorageKeyCost = common.param('gasPrices', 'accessListStorageKeyCost');\n var accessListAddressCost = common.param('gasPrices', 'accessListAddressCost');\n var slots = 0;\n for (var index = 0; index < accessList.length; index++) {\n var item = accessList[index];\n var storageSlots = item[1];\n slots += storageSlots.length;\n }\n var addresses = accessList.length;\n return addresses * accessListAddressCost + slots * accessListStorageKeyCost;\n };\n return AccessLists;\n}());\nexports.AccessLists = AccessLists;\n//# sourceMappingURL=util.js.map","var A = require(\"./array.js\");\n\nvar at = function at(bytes, index) {\n return parseInt(bytes.slice(index * 2 + 2, index * 2 + 4), 16);\n};\n\nvar random = function random(bytes) {\n var rnd = void 0;\n if (typeof window !== \"undefined\" && window.crypto && window.crypto.getRandomValues) rnd = window.crypto.getRandomValues(new Uint8Array(bytes));else if (typeof require !== \"undefined\") rnd = require(\"c\" + \"rypto\").randomBytes(bytes);else throw \"Safe random numbers not available.\";\n var hex = \"0x\";\n for (var i = 0; i < bytes; ++i) {\n hex += (\"00\" + rnd[i].toString(16)).slice(-2);\n }return hex;\n};\n\nvar length = function length(a) {\n return (a.length - 2) / 2;\n};\n\nvar flatten = function flatten(a) {\n return \"0x\" + a.reduce(function (r, s) {\n return r + s.slice(2);\n }, \"\");\n};\n\nvar slice = function slice(i, j, bs) {\n return \"0x\" + bs.slice(i * 2 + 2, j * 2 + 2);\n};\n\nvar reverse = function reverse(hex) {\n var rev = \"0x\";\n for (var i = 0, l = length(hex); i < l; ++i) {\n rev += hex.slice((l - i) * 2, (l - i + 1) * 2);\n }\n return rev;\n};\n\nvar pad = function pad(l, hex) {\n return hex.length === l * 2 + 2 ? hex : pad(l, \"0x\" + \"0\" + hex.slice(2));\n};\n\nvar padRight = function padRight(l, hex) {\n return hex.length === l * 2 + 2 ? hex : padRight(l, hex + \"0\");\n};\n\nvar toArray = function toArray(hex) {\n var arr = [];\n for (var i = 2, l = hex.length; i < l; i += 2) {\n arr.push(parseInt(hex.slice(i, i + 2), 16));\n }return arr;\n};\n\nvar fromArray = function fromArray(arr) {\n var hex = \"0x\";\n for (var i = 0, l = arr.length; i < l; ++i) {\n var b = arr[i];\n hex += (b < 16 ? \"0\" : \"\") + b.toString(16);\n }\n return hex;\n};\n\nvar toUint8Array = function toUint8Array(hex) {\n return new Uint8Array(toArray(hex));\n};\n\nvar fromUint8Array = function fromUint8Array(arr) {\n return fromArray([].slice.call(arr, 0));\n};\n\nvar fromNumber = function fromNumber(num) {\n var hex = num.toString(16);\n return hex.length % 2 === 0 ? \"0x\" + hex : \"0x0\" + hex;\n};\n\nvar toNumber = function toNumber(hex) {\n return parseInt(hex.slice(2), 16);\n};\n\nvar concat = function concat(a, b) {\n return a.concat(b.slice(2));\n};\n\nvar fromNat = function fromNat(bn) {\n return bn === \"0x0\" ? \"0x\" : bn.length % 2 === 0 ? bn : \"0x0\" + bn.slice(2);\n};\n\nvar toNat = function toNat(bn) {\n return bn[2] === \"0\" ? \"0x\" + bn.slice(3) : bn;\n};\n\nvar fromAscii = function fromAscii(ascii) {\n var hex = \"0x\";\n for (var i = 0; i < ascii.length; ++i) {\n hex += (\"00\" + ascii.charCodeAt(i).toString(16)).slice(-2);\n }return hex;\n};\n\nvar toAscii = function toAscii(hex) {\n var ascii = \"\";\n for (var i = 2; i < hex.length; i += 2) {\n ascii += String.fromCharCode(parseInt(hex.slice(i, i + 2), 16));\n }return ascii;\n};\n\n// From https://gist.github.com/pascaldekloe/62546103a1576803dade9269ccf76330\nvar fromString = function fromString(s) {\n var makeByte = function makeByte(uint8) {\n var b = uint8.toString(16);\n return b.length < 2 ? \"0\" + b : b;\n };\n var bytes = \"0x\";\n for (var ci = 0; ci != s.length; ci++) {\n var c = s.charCodeAt(ci);\n if (c < 128) {\n bytes += makeByte(c);\n continue;\n }\n if (c < 2048) {\n bytes += makeByte(c >> 6 | 192);\n } else {\n if (c > 0xd7ff && c < 0xdc00) {\n if (++ci == s.length) return null;\n var c2 = s.charCodeAt(ci);\n if (c2 < 0xdc00 || c2 > 0xdfff) return null;\n c = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n bytes += makeByte(c >> 18 | 240);\n bytes += makeByte(c >> 12 & 63 | 128);\n } else {\n // c <= 0xffff\n bytes += makeByte(c >> 12 | 224);\n }\n bytes += makeByte(c >> 6 & 63 | 128);\n }\n bytes += makeByte(c & 63 | 128);\n }\n return bytes;\n};\n\nvar toString = function toString(bytes) {\n var s = '';\n var i = 0;\n var l = length(bytes);\n while (i < l) {\n var c = at(bytes, i++);\n if (c > 127) {\n if (c > 191 && c < 224) {\n if (i >= l) return null;\n c = (c & 31) << 6 | at(bytes, i) & 63;\n } else if (c > 223 && c < 240) {\n if (i + 1 >= l) return null;\n c = (c & 15) << 12 | (at(bytes, i) & 63) << 6 | at(bytes, ++i) & 63;\n } else if (c > 239 && c < 248) {\n if (i + 2 >= l) return null;\n c = (c & 7) << 18 | (at(bytes, i) & 63) << 12 | (at(bytes, ++i) & 63) << 6 | at(bytes, ++i) & 63;\n } else return null;\n ++i;\n }\n if (c <= 0xffff) s += String.fromCharCode(c);else if (c <= 0x10ffff) {\n c -= 0x10000;\n s += String.fromCharCode(c >> 10 | 0xd800);\n s += String.fromCharCode(c & 0x3FF | 0xdc00);\n } else return null;\n }\n return s;\n};\n\nmodule.exports = {\n random: random,\n length: length,\n concat: concat,\n flatten: flatten,\n slice: slice,\n reverse: reverse,\n pad: pad,\n padRight: padRight,\n fromAscii: fromAscii,\n toAscii: toAscii,\n fromString: fromString,\n toString: toString,\n fromNumber: fromNumber,\n toNumber: toNumber,\n fromNat: fromNat,\n toNat: toNat,\n fromArray: fromArray,\n toArray: toArray,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array\n};","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @authors:\n * Fabian Vogelsteller \n * Gav Wood \n * Jeffrey Wilcke \n * Marek Kotewicz \n * Marian Oancea \n * @date 2017\n */\n\"use strict\";\nvar version = require('../package.json').version;\nvar core = require('web3-core');\nvar Eth = require('web3-eth');\nvar Net = require('web3-net');\nvar Personal = require('web3-eth-personal');\nvar Shh = require('web3-shh');\nvar Bzz = require('web3-bzz');\nvar utils = require('web3-utils');\nvar Web3 = function Web3() {\n var _this = this;\n // sets _requestmanager etc\n core.packageInit(this, arguments);\n this.version = version;\n this.utils = utils;\n this.eth = new Eth(this);\n this.shh = new Shh(this);\n this.bzz = new Bzz(this);\n // overwrite package setProvider\n var setProvider = this.setProvider;\n this.setProvider = function (provider, net) {\n /*jshint unused: false */\n setProvider.apply(_this, arguments);\n _this.eth.setRequestManager(_this._requestManager);\n _this.shh.setRequestManager(_this._requestManager);\n _this.bzz.setProvider(provider);\n return true;\n };\n};\nWeb3.version = version;\nWeb3.utils = utils;\nWeb3.modules = {\n Eth: Eth,\n Net: Net,\n Personal: Personal,\n Shh: Shh,\n Bzz: Bzz\n};\ncore.addProviders(Web3);\nmodule.exports = Web3;\n","/*\n This file is part of web3.js.\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file index.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nconst { callbackify } = require('util');\nvar errors = require('web3-core-helpers').errors;\nvar Jsonrpc = require('./jsonrpc.js');\nvar BatchManager = require('./batch.js');\nvar givenProvider = require('./givenProvider.js');\n/**\n * It's responsible for passing messages to providers\n * It's also responsible for polling the ethereum node for incoming messages\n * Default poll timeout is 1 second\n * Singleton\n *\n * @param {string|Object}provider\n * @param {Net.Socket} net\n *\n * @constructor\n */\nvar RequestManager = function RequestManager(provider, net) {\n this.provider = null;\n this.providers = RequestManager.providers;\n this.setProvider(provider, net);\n this.subscriptions = new Map();\n};\nRequestManager.givenProvider = givenProvider;\nRequestManager.providers = {\n WebsocketProvider: require('web3-providers-ws'),\n HttpProvider: require('web3-providers-http'),\n IpcProvider: require('web3-providers-ipc')\n};\n/**\n * Should be used to set provider of request manager\n *\n * @method setProvider\n *\n * @param {Object} provider\n * @param {net.Socket} net\n *\n * @returns void\n */\nRequestManager.prototype.setProvider = function (provider, net) {\n var _this = this;\n // autodetect provider\n if (provider && typeof provider === 'string' && this.providers) {\n // HTTP\n if (/^http(s)?:\\/\\//i.test(provider)) {\n provider = new this.providers.HttpProvider(provider);\n // WS\n }\n else if (/^ws(s)?:\\/\\//i.test(provider)) {\n provider = new this.providers.WebsocketProvider(provider);\n // IPC\n }\n else if (provider && typeof net === 'object' && typeof net.connect === 'function') {\n provider = new this.providers.IpcProvider(provider, net);\n }\n else if (provider) {\n throw new Error('Can\\'t autodetect provider for \"' + provider + '\"');\n }\n }\n // reset the old one before changing, if still connected\n if (this.provider && this.provider.connected)\n this.clearSubscriptions();\n this.provider = provider || null;\n // listen to incoming notifications\n if (this.provider && this.provider.on) {\n if (typeof provider.request === 'function') { // EIP-1193 provider\n this.provider.on('message', function (payload) {\n if (payload && payload.type === 'eth_subscription' && payload.data) {\n const data = payload.data;\n if (data.subscription && _this.subscriptions.has(data.subscription)) {\n _this.subscriptions.get(data.subscription).callback(null, data.result);\n }\n }\n });\n }\n else { // legacy provider subscription event\n this.provider.on('data', function data(result, deprecatedResult) {\n result = result || deprecatedResult; // this is for possible old providers, which may had the error first handler\n // if result is a subscription, call callback for that subscription\n if (result.method && result.params && result.params.subscription && _this.subscriptions.has(result.params.subscription)) {\n _this.subscriptions.get(result.params.subscription).callback(null, result.params.result);\n }\n });\n }\n // resubscribe if the provider has reconnected\n this.provider.on('connect', function connect() {\n _this.subscriptions.forEach(function (subscription) {\n subscription.subscription.resubscribe();\n });\n });\n // notify all subscriptions about the error condition\n this.provider.on('error', function error(error) {\n _this.subscriptions.forEach(function (subscription) {\n subscription.callback(error);\n });\n });\n // notify all subscriptions about bad close conditions\n const disconnect = function disconnect(event) {\n if (!_this._isCleanCloseEvent(event) || _this._isIpcCloseError(event)) {\n _this.subscriptions.forEach(function (subscription) {\n subscription.callback(errors.ConnectionCloseError(event));\n _this.subscriptions.delete(subscription.subscription.id);\n });\n if (_this.provider && _this.provider.emit) {\n _this.provider.emit('error', errors.ConnectionCloseError(event));\n }\n }\n if (_this.provider && _this.provider.emit) {\n _this.provider.emit('end', event);\n }\n };\n // TODO: Remove close once the standard allows it\n this.provider.on('close', disconnect);\n this.provider.on('disconnect', disconnect);\n // TODO add end, timeout??\n }\n};\n/**\n * Asynchronously send request to provider.\n * Prefers to use the `request` method available on the provider as specified in [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193).\n * If `request` is not available, falls back to `sendAsync` and `send` respectively.\n * @method send\n * @param {Object} data\n * @param {Function} callback\n */\nRequestManager.prototype.send = function (data, callback) {\n callback = callback || function () { };\n if (!this.provider) {\n return callback(errors.InvalidProvider());\n }\n const { method, params } = data;\n const jsonrpcPayload = Jsonrpc.toPayload(method, params);\n const jsonrpcResultCallback = this._jsonrpcResultCallback(callback, jsonrpcPayload);\n if (this.provider.request) {\n const callbackRequest = callbackify(this.provider.request.bind(this.provider));\n const requestArgs = { method, params };\n callbackRequest(requestArgs, callback);\n }\n else if (this.provider.sendAsync) {\n this.provider.sendAsync(jsonrpcPayload, jsonrpcResultCallback);\n }\n else if (this.provider.send) {\n this.provider.send(jsonrpcPayload, jsonrpcResultCallback);\n }\n else {\n throw new Error('Provider does not have a request or send method to use.');\n }\n};\n/**\n * Asynchronously send batch request.\n * Only works if provider supports batch methods through `sendAsync` or `send`.\n * @method sendBatch\n * @param {Array} data - array of payload objects\n * @param {Function} callback\n */\nRequestManager.prototype.sendBatch = function (data, callback) {\n if (!this.provider) {\n return callback(errors.InvalidProvider());\n }\n var payload = Jsonrpc.toBatchPayload(data);\n this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](payload, function (err, results) {\n if (err) {\n return callback(err);\n }\n if (!Array.isArray(results)) {\n return callback(errors.InvalidResponse(results));\n }\n callback(null, results);\n });\n};\n/**\n * Waits for notifications\n *\n * @method addSubscription\n * @param {Subscription} subscription the subscription\n * @param {String} type the subscription namespace (eth, personal, etc)\n * @param {Function} callback the callback to call for incoming notifications\n */\nRequestManager.prototype.addSubscription = function (subscription, callback) {\n if (this.provider.on) {\n this.subscriptions.set(subscription.id, {\n callback: callback,\n subscription: subscription\n });\n }\n else {\n throw new Error('The provider doesn\\'t support subscriptions: ' + this.provider.constructor.name);\n }\n};\n/**\n * Waits for notifications\n *\n * @method removeSubscription\n * @param {String} id the subscription id\n * @param {Function} callback fired once the subscription is removed\n */\nRequestManager.prototype.removeSubscription = function (id, callback) {\n if (this.subscriptions.has(id)) {\n var type = this.subscriptions.get(id).subscription.options.type;\n // remove subscription first to avoid reentry\n this.subscriptions.delete(id);\n // then, try to actually unsubscribe\n this.send({\n method: type + '_unsubscribe',\n params: [id]\n }, callback);\n return;\n }\n if (typeof callback === 'function') {\n // call the callback if the subscription was already removed\n callback(null);\n }\n};\n/**\n * Should be called to reset the subscriptions\n *\n * @method reset\n *\n * @returns {boolean}\n */\nRequestManager.prototype.clearSubscriptions = function (keepIsSyncing) {\n try {\n var _this = this;\n // uninstall all subscriptions\n if (this.subscriptions.size > 0) {\n this.subscriptions.forEach(function (value, id) {\n if (!keepIsSyncing || value.name !== 'syncing')\n _this.removeSubscription(id);\n });\n }\n // reset notification callbacks etc.\n if (this.provider.reset)\n this.provider.reset();\n return true;\n }\n catch (e) {\n throw new Error(`Error while clearing subscriptions: ${e}`);\n }\n};\n/**\n * Evaluates WS close event\n *\n * @method _isCleanClose\n *\n * @param {CloseEvent | boolean} event WS close event or exception flag\n *\n * @returns {boolean}\n */\nRequestManager.prototype._isCleanCloseEvent = function (event) {\n return typeof event === 'object' && ([1000].includes(event.code) || event.wasClean === true);\n};\n/**\n * Detects Ipc close error. The node.net module emits ('close', isException)\n *\n * @method _isIpcCloseError\n *\n * @param {CloseEvent | boolean} event WS close event or exception flag\n *\n * @returns {boolean}\n */\nRequestManager.prototype._isIpcCloseError = function (event) {\n return typeof event === 'boolean' && event;\n};\n/**\n * The jsonrpc result callback for RequestManager.send\n *\n * @method _jsonrpcResultCallback\n *\n * @param {Function} callback the callback to use\n * @param {Object} payload the jsonrpc payload\n *\n * @returns {Function} return callback of form (err, result)\n *\n */\nRequestManager.prototype._jsonrpcResultCallback = function (callback, payload) {\n return function (err, result) {\n if (result && result.id && payload.id !== result.id) {\n return callback(new Error(`Wrong response id ${result.id} (expected: ${payload.id}) in ${JSON.stringify(payload)}`));\n }\n if (err) {\n return callback(err);\n }\n if (result && result.error) {\n return callback(errors.ErrorResponse(result));\n }\n if (!Jsonrpc.isValidResponse(result)) {\n return callback(errors.InvalidResponse(result));\n }\n callback(null, result.result);\n };\n};\nmodule.exports = {\n Manager: RequestManager,\n BatchManager: BatchManager\n};\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file errors.js\n * @author Fabian Vogelsteller \n * @author Marek Kotewicz \n * @date 2017\n */\n\"use strict\";\nmodule.exports = {\n ErrorResponse: function (result) {\n var message = !!result && !!result.error && !!result.error.message ? result.error.message : JSON.stringify(result);\n var data = (!!result.error && !!result.error.data) ? result.error.data : null;\n var err = new Error('Returned error: ' + message);\n err.data = data;\n return err;\n },\n InvalidNumberOfParams: function (got, expected, method) {\n return new Error('Invalid number of parameters for \"' + method + '\". Got ' + got + ' expected ' + expected + '!');\n },\n InvalidConnection: function (host, event) {\n return this.ConnectionError('CONNECTION ERROR: Couldn\\'t connect to node ' + host + '.', event);\n },\n InvalidProvider: function () {\n return new Error('Provider not set or invalid');\n },\n InvalidResponse: function (result) {\n var message = !!result && !!result.error && !!result.error.message ? result.error.message : 'Invalid JSON RPC response: ' + JSON.stringify(result);\n return new Error(message);\n },\n ConnectionTimeout: function (ms) {\n return new Error('CONNECTION TIMEOUT: timeout of ' + ms + ' ms achived');\n },\n ConnectionNotOpenError: function (event) {\n return this.ConnectionError('connection not open on send()', event);\n },\n ConnectionCloseError: function (event) {\n if (typeof event === 'object' && event.code && event.reason) {\n return this.ConnectionError('CONNECTION ERROR: The connection got closed with ' +\n 'the close code `' + event.code + '` and the following ' +\n 'reason string `' + event.reason + '`', event);\n }\n return new Error('CONNECTION ERROR: The connection closed unexpectedly');\n },\n MaxAttemptsReachedOnReconnectingError: function () {\n return new Error('Maximum number of reconnect attempts reached!');\n },\n PendingRequestsOnReconnectingError: function () {\n return new Error('CONNECTION ERROR: Provider started to reconnect before the response got received!');\n },\n ConnectionError: function (msg, event) {\n const error = new Error(msg);\n if (event) {\n error.code = event.code;\n error.reason = event.reason;\n }\n return error;\n },\n RevertInstructionError: function (reason, signature) {\n var error = new Error('Your request got reverted with the following reason string: ' + reason);\n error.reason = reason;\n error.signature = signature;\n return error;\n },\n TransactionRevertInstructionError: function (reason, signature, receipt) {\n var error = new Error('Transaction has been reverted by the EVM:\\n' + JSON.stringify(receipt, null, 2));\n error.reason = reason;\n error.signature = signature;\n error.receipt = receipt;\n return error;\n },\n TransactionError: function (message, receipt) {\n var error = new Error(message);\n error.receipt = receipt;\n return error;\n },\n NoContractAddressFoundError: function (receipt) {\n return this.TransactionError('The transaction receipt didn\\'t contain a contract address.', receipt);\n },\n ContractCodeNotStoredError: function (receipt) {\n return this.TransactionError('The contract code couldn\\'t be stored, please check your gas limit.', receipt);\n },\n TransactionRevertedWithoutReasonError: function (receipt) {\n return this.TransactionError('Transaction has been reverted by the EVM:\\n' + JSON.stringify(receipt, null, 2), receipt);\n },\n TransactionOutOfGasError: function (receipt) {\n return this.TransactionError('Transaction ran out of gas. Please provide more gas:\\n' + JSON.stringify(receipt, null, 2), receipt);\n },\n ResolverMethodMissingError: function (address, name) {\n return new Error('The resolver at ' + address + 'does not implement requested method: \"' + name + '\".');\n },\n ContractMissingABIError: function () {\n return new Error('You must provide the json interface of the contract when instantiating a contract object.');\n },\n ContractOnceRequiresCallbackError: function () {\n return new Error('Once requires a callback as the second parameter.');\n },\n ContractEventDoesNotExistError: function (eventName) {\n return new Error('Event \"' + eventName + '\" doesn\\'t exist in this contract.');\n },\n ContractReservedEventError: function (type) {\n return new Error('The event \"' + type + '\" is a reserved event name, you can\\'t use it.');\n },\n ContractMissingDeployDataError: function () {\n return new Error('No \"data\" specified in neither the given options, nor the default options.');\n },\n ContractNoAddressDefinedError: function () {\n return new Error('This contract object doesn\\'t have address set yet, please set an address first.');\n },\n ContractNoFromAddressDefinedError: function () {\n return new Error('No \"from\" address specified in neither the given options, nor the default options.');\n }\n};\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file formatters.js\n * @author Fabian Vogelsteller \n * @author Marek Kotewicz \n * @date 2017\n */\n\"use strict\";\nvar utils = require('web3-utils');\nvar Iban = require('web3-eth-iban');\n/**\n * Will format the given storage key array values to hex strings.\n *\n * @method inputStorageKeysFormatter\n *\n * @param {Array} keys\n *\n * @returns {Array}\n */\nvar inputStorageKeysFormatter = function (keys) {\n return keys.map(utils.numberToHex);\n};\n/**\n * Will format the given proof response from the node.\n *\n * @method outputProofFormatter\n *\n * @param {object} proof\n *\n * @returns {object}\n */\nvar outputProofFormatter = function (proof) {\n proof.address = utils.toChecksumAddress(proof.address);\n proof.nonce = utils.hexToNumberString(proof.nonce);\n proof.balance = utils.hexToNumberString(proof.balance);\n return proof;\n};\n/**\n * Should the format output to a big number\n *\n * @method outputBigNumberFormatter\n *\n * @param {String|Number|BigNumber|BN} number\n *\n * @returns {BN} object\n */\nvar outputBigNumberFormatter = function (number) {\n return utils.toBN(number).toString(10);\n};\n/**\n * Returns true if the given blockNumber is 'latest', 'pending', or 'earliest.\n *\n * @method isPredefinedBlockNumber\n *\n * @param {String} blockNumber\n *\n * @returns {Boolean}\n */\nvar isPredefinedBlockNumber = function (blockNumber) {\n return blockNumber === 'latest' || blockNumber === 'pending' || blockNumber === 'earliest';\n};\n/**\n * Returns the given block number as hex string or does return the defaultBlock property of the current module\n *\n * @method inputDefaultBlockNumberFormatter\n *\n * @param {String|Number|BN|BigNumber} blockNumber\n *\n * @returns {String}\n */\nvar inputDefaultBlockNumberFormatter = function (blockNumber) {\n if (this && (blockNumber === undefined || blockNumber === null)) {\n return inputBlockNumberFormatter(this.defaultBlock);\n }\n return inputBlockNumberFormatter(blockNumber);\n};\n/**\n * Returns the given block number as hex string or the predefined block number 'latest', 'pending', 'earliest', 'genesis'\n *\n * @param {String|Number|BN|BigNumber} blockNumber\n *\n * @returns {String}\n */\nvar inputBlockNumberFormatter = function (blockNumber) {\n if (blockNumber === undefined) {\n return undefined;\n }\n if (isPredefinedBlockNumber(blockNumber)) {\n return blockNumber;\n }\n if (blockNumber === 'genesis') {\n return '0x0';\n }\n return (utils.isHexStrict(blockNumber)) ? ((typeof blockNumber === 'string') ? blockNumber.toLowerCase() : blockNumber) : utils.numberToHex(blockNumber);\n};\n/**\n * Formats the input of a transaction and converts all values to HEX\n *\n * @method _txInputFormatter\n * @param {Object} transaction options\n * @returns object\n */\nvar _txInputFormatter = function (options) {\n if (options.to) { // it might be contract creation\n options.to = inputAddressFormatter(options.to);\n }\n if (options.data && options.input) {\n throw new Error('You can\\'t have \"data\" and \"input\" as properties of transactions at the same time, please use either \"data\" or \"input\" instead.');\n }\n if (!options.data && options.input) {\n options.data = options.input;\n delete options.input;\n }\n if (options.data && !options.data.startsWith('0x')) {\n options.data = '0x' + options.data;\n }\n if (options.data && !utils.isHex(options.data)) {\n throw new Error('The data field must be HEX encoded data.');\n }\n // allow both\n if (options.gas || options.gasLimit) {\n options.gas = options.gas || options.gasLimit;\n }\n if (options.maxPriorityFeePerGas || options.maxFeePerGas) {\n delete options.gasPrice;\n }\n ['gasPrice', 'gas', 'value', 'maxPriorityFeePerGas', 'maxFeePerGas', 'nonce'].filter(function (key) {\n return options[key] !== undefined;\n }).forEach(function (key) {\n options[key] = utils.numberToHex(options[key]);\n });\n return options;\n};\n/**\n * Formats the input of a transaction and converts all values to HEX\n *\n * @method inputCallFormatter\n * @param {Object} transaction options\n * @returns object\n */\nvar inputCallFormatter = function (options) {\n options = _txInputFormatter(options);\n var from = options.from || (this ? this.defaultAccount : null);\n if (from) {\n options.from = inputAddressFormatter(from);\n }\n return options;\n};\n/**\n * Formats the input of a transaction and converts all values to HEX\n *\n * @method inputTransactionFormatter\n * @param {Object} options\n * @returns object\n */\nvar inputTransactionFormatter = function (options) {\n options = _txInputFormatter(options);\n // check from, only if not number, or object\n if (!(typeof options.from === 'number') && !(!!options.from && typeof options.from === 'object')) {\n options.from = options.from || (this ? this.defaultAccount : null);\n if (!options.from && !(typeof options.from === 'number')) {\n throw new Error('The send transactions \"from\" field must be defined!');\n }\n options.from = inputAddressFormatter(options.from);\n }\n return options;\n};\n/**\n * Hex encodes the data passed to eth_sign and personal_sign\n *\n * @method inputSignFormatter\n * @param {String} data\n * @returns {String}\n */\nvar inputSignFormatter = function (data) {\n return (utils.isHexStrict(data)) ? data : utils.utf8ToHex(data);\n};\n/**\n * Formats the output of a transaction to its proper values\n *\n * @method outputTransactionFormatter\n * @param {Object} tx\n * @returns {Object}\n */\nvar outputTransactionFormatter = function (tx) {\n if (tx.blockNumber !== null)\n tx.blockNumber = utils.hexToNumber(tx.blockNumber);\n if (tx.transactionIndex !== null)\n tx.transactionIndex = utils.hexToNumber(tx.transactionIndex);\n tx.nonce = utils.hexToNumber(tx.nonce);\n tx.gas = utils.hexToNumber(tx.gas);\n if (tx.gasPrice)\n tx.gasPrice = outputBigNumberFormatter(tx.gasPrice);\n if (tx.maxFeePerGas)\n tx.maxFeePerGas = outputBigNumberFormatter(tx.maxFeePerGas);\n if (tx.maxPriorityFeePerGas)\n tx.maxPriorityFeePerGas = outputBigNumberFormatter(tx.maxPriorityFeePerGas);\n if (tx.type)\n tx.type = utils.hexToNumber(tx.type);\n tx.value = outputBigNumberFormatter(tx.value);\n if (tx.to && utils.isAddress(tx.to)) { // tx.to could be `0x0` or `null` while contract creation\n tx.to = utils.toChecksumAddress(tx.to);\n }\n else {\n tx.to = null; // set to `null` if invalid address\n }\n if (tx.from) {\n tx.from = utils.toChecksumAddress(tx.from);\n }\n return tx;\n};\n/**\n * Formats the output of a transaction receipt to its proper values\n *\n * @method outputTransactionReceiptFormatter\n * @param {Object} receipt\n * @returns {Object}\n */\nvar outputTransactionReceiptFormatter = function (receipt) {\n if (typeof receipt !== 'object') {\n throw new Error('Received receipt is invalid: ' + receipt);\n }\n if (receipt.blockNumber !== null)\n receipt.blockNumber = utils.hexToNumber(receipt.blockNumber);\n if (receipt.transactionIndex !== null)\n receipt.transactionIndex = utils.hexToNumber(receipt.transactionIndex);\n receipt.cumulativeGasUsed = utils.hexToNumber(receipt.cumulativeGasUsed);\n receipt.gasUsed = utils.hexToNumber(receipt.gasUsed);\n if (Array.isArray(receipt.logs)) {\n receipt.logs = receipt.logs.map(outputLogFormatter);\n }\n if (receipt.contractAddress) {\n receipt.contractAddress = utils.toChecksumAddress(receipt.contractAddress);\n }\n if (typeof receipt.status !== 'undefined' && receipt.status !== null) {\n receipt.status = Boolean(parseInt(receipt.status));\n }\n return receipt;\n};\n/**\n * Formats the output of a block to its proper values\n *\n * @method outputBlockFormatter\n * @param {Object} block\n * @returns {Object}\n */\nvar outputBlockFormatter = function (block) {\n // transform to number\n block.gasLimit = utils.hexToNumber(block.gasLimit);\n block.gasUsed = utils.hexToNumber(block.gasUsed);\n block.size = utils.hexToNumber(block.size);\n block.timestamp = utils.hexToNumber(block.timestamp);\n if (block.number !== null)\n block.number = utils.hexToNumber(block.number);\n if (block.difficulty)\n block.difficulty = outputBigNumberFormatter(block.difficulty);\n if (block.totalDifficulty)\n block.totalDifficulty = outputBigNumberFormatter(block.totalDifficulty);\n if (Array.isArray(block.transactions)) {\n block.transactions.forEach(function (item) {\n if (!(typeof item === 'string'))\n return outputTransactionFormatter(item);\n });\n }\n if (block.miner)\n block.miner = utils.toChecksumAddress(block.miner);\n return block;\n};\n/**\n * Formats the input of a log\n *\n * @method inputLogFormatter\n * @param {Object} log object\n * @returns {Object} log\n */\nvar inputLogFormatter = function (options) {\n var toTopic = function (value) {\n if (value === null || typeof value === 'undefined')\n return null;\n value = String(value);\n if (value.indexOf('0x') === 0)\n return value;\n else\n return utils.fromUtf8(value);\n };\n if (options === undefined)\n options = {};\n // If options !== undefined, don't blow out existing data\n if (options.fromBlock === undefined)\n options = { ...options, fromBlock: 'latest' };\n if (options.fromBlock || options.fromBlock === 0)\n options.fromBlock = inputBlockNumberFormatter(options.fromBlock);\n if (options.toBlock || options.toBlock === 0)\n options.toBlock = inputBlockNumberFormatter(options.toBlock);\n // make sure topics, get converted to hex\n options.topics = options.topics || [];\n options.topics = options.topics.map(function (topic) {\n return (Array.isArray(topic)) ? topic.map(toTopic) : toTopic(topic);\n });\n toTopic = null;\n if (options.address) {\n options.address = (Array.isArray(options.address)) ? options.address.map(function (addr) {\n return inputAddressFormatter(addr);\n }) : inputAddressFormatter(options.address);\n }\n return options;\n};\n/**\n * Formats the output of a log\n *\n * @method outputLogFormatter\n * @param {Object} log object\n * @returns {Object} log\n */\nvar outputLogFormatter = function (log) {\n // generate a custom log id\n if (typeof log.blockHash === 'string' &&\n typeof log.transactionHash === 'string' &&\n typeof log.logIndex === 'string') {\n var shaId = utils.sha3(log.blockHash.replace('0x', '') + log.transactionHash.replace('0x', '') + log.logIndex.replace('0x', ''));\n log.id = 'log_' + shaId.replace('0x', '').substr(0, 8);\n }\n else if (!log.id) {\n log.id = null;\n }\n if (log.blockNumber !== null)\n log.blockNumber = utils.hexToNumber(log.blockNumber);\n if (log.transactionIndex !== null)\n log.transactionIndex = utils.hexToNumber(log.transactionIndex);\n if (log.logIndex !== null)\n log.logIndex = utils.hexToNumber(log.logIndex);\n if (log.address) {\n log.address = utils.toChecksumAddress(log.address);\n }\n return log;\n};\n/**\n * Formats the input of a whisper post and converts all values to HEX\n *\n * @method inputPostFormatter\n * @param {Object} transaction object\n * @returns {Object}\n */\nvar inputPostFormatter = function (post) {\n // post.payload = utils.toHex(post.payload);\n if (post.ttl)\n post.ttl = utils.numberToHex(post.ttl);\n if (post.workToProve)\n post.workToProve = utils.numberToHex(post.workToProve);\n if (post.priority)\n post.priority = utils.numberToHex(post.priority);\n // fallback\n if (!Array.isArray(post.topics)) {\n post.topics = post.topics ? [post.topics] : [];\n }\n // format the following options\n post.topics = post.topics.map(function (topic) {\n // convert only if not hex\n return (topic.indexOf('0x') === 0) ? topic : utils.fromUtf8(topic);\n });\n return post;\n};\n/**\n * Formats the output of a received post message\n *\n * @method outputPostFormatter\n * @param {Object}\n * @returns {Object}\n */\nvar outputPostFormatter = function (post) {\n post.expiry = utils.hexToNumber(post.expiry);\n post.sent = utils.hexToNumber(post.sent);\n post.ttl = utils.hexToNumber(post.ttl);\n post.workProved = utils.hexToNumber(post.workProved);\n // post.payloadRaw = post.payload;\n // post.payload = utils.hexToAscii(post.payload);\n // if (utils.isJson(post.payload)) {\n // post.payload = JSON.parse(post.payload);\n // }\n // format the following options\n if (!post.topics) {\n post.topics = [];\n }\n post.topics = post.topics.map(function (topic) {\n return utils.toUtf8(topic);\n });\n return post;\n};\nvar inputAddressFormatter = function (address) {\n var iban = new Iban(address);\n if (iban.isValid() && iban.isDirect()) {\n return iban.toAddress().toLowerCase();\n }\n else if (utils.isAddress(address)) {\n return '0x' + address.toLowerCase().replace('0x', '');\n }\n throw new Error(`Provided address ${address} is invalid, the capitalization checksum test failed, or it's an indirect IBAN address which can't be converted.`);\n};\nvar outputSyncingFormatter = function (result) {\n result.startingBlock = utils.hexToNumber(result.startingBlock);\n result.currentBlock = utils.hexToNumber(result.currentBlock);\n result.highestBlock = utils.hexToNumber(result.highestBlock);\n if (result.knownStates) {\n result.knownStates = utils.hexToNumber(result.knownStates);\n result.pulledStates = utils.hexToNumber(result.pulledStates);\n }\n return result;\n};\nmodule.exports = {\n inputDefaultBlockNumberFormatter: inputDefaultBlockNumberFormatter,\n inputBlockNumberFormatter: inputBlockNumberFormatter,\n inputCallFormatter: inputCallFormatter,\n inputTransactionFormatter: inputTransactionFormatter,\n inputAddressFormatter: inputAddressFormatter,\n inputPostFormatter: inputPostFormatter,\n inputLogFormatter: inputLogFormatter,\n inputSignFormatter: inputSignFormatter,\n inputStorageKeysFormatter: inputStorageKeysFormatter,\n outputProofFormatter: outputProofFormatter,\n outputBigNumberFormatter: outputBigNumberFormatter,\n outputTransactionFormatter: outputTransactionFormatter,\n outputTransactionReceiptFormatter: outputTransactionReceiptFormatter,\n outputBlockFormatter: outputBlockFormatter,\n outputLogFormatter: outputLogFormatter,\n outputPostFormatter: outputPostFormatter,\n outputSyncingFormatter: outputSyncingFormatter\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar numberToBN = require('number-to-bn');\n\nvar zero = new BN(0);\nvar negative1 = new BN(-1);\n\n// complete ethereum unit map\nvar unitMap = {\n 'noether': '0', // eslint-disable-line\n 'wei': '1', // eslint-disable-line\n 'kwei': '1000', // eslint-disable-line\n 'Kwei': '1000', // eslint-disable-line\n 'babbage': '1000', // eslint-disable-line\n 'femtoether': '1000', // eslint-disable-line\n 'mwei': '1000000', // eslint-disable-line\n 'Mwei': '1000000', // eslint-disable-line\n 'lovelace': '1000000', // eslint-disable-line\n 'picoether': '1000000', // eslint-disable-line\n 'gwei': '1000000000', // eslint-disable-line\n 'Gwei': '1000000000', // eslint-disable-line\n 'shannon': '1000000000', // eslint-disable-line\n 'nanoether': '1000000000', // eslint-disable-line\n 'nano': '1000000000', // eslint-disable-line\n 'szabo': '1000000000000', // eslint-disable-line\n 'microether': '1000000000000', // eslint-disable-line\n 'micro': '1000000000000', // eslint-disable-line\n 'finney': '1000000000000000', // eslint-disable-line\n 'milliether': '1000000000000000', // eslint-disable-line\n 'milli': '1000000000000000', // eslint-disable-line\n 'ether': '1000000000000000000', // eslint-disable-line\n 'kether': '1000000000000000000000', // eslint-disable-line\n 'grand': '1000000000000000000000', // eslint-disable-line\n 'mether': '1000000000000000000000000', // eslint-disable-line\n 'gether': '1000000000000000000000000000', // eslint-disable-line\n 'tether': '1000000000000000000000000000000' };\n\n/**\n * Returns value of unit in Wei\n *\n * @method getValueOfUnit\n * @param {String} unit the unit to convert to, default ether\n * @returns {BigNumber} value of the unit (in Wei)\n * @throws error if the unit is not correct:w\n */\nfunction getValueOfUnit(unitInput) {\n var unit = unitInput ? unitInput.toLowerCase() : 'ether';\n var unitValue = unitMap[unit]; // eslint-disable-line\n\n if (typeof unitValue !== 'string') {\n throw new Error('[ethjs-unit] the unit provided ' + unitInput + ' doesn\\'t exists, please use the one of the following units ' + JSON.stringify(unitMap, null, 2));\n }\n\n return new BN(unitValue, 10);\n}\n\nfunction numberToString(arg) {\n if (typeof arg === 'string') {\n if (!arg.match(/^-?[0-9.]+$/)) {\n throw new Error('while converting number to string, invalid number value \\'' + arg + '\\', should be a number matching (^-?[0-9.]+).');\n }\n return arg;\n } else if (typeof arg === 'number') {\n return String(arg);\n } else if (typeof arg === 'object' && arg.toString && (arg.toTwos || arg.dividedToIntegerBy)) {\n if (arg.toPrecision) {\n return String(arg.toPrecision());\n } else {\n // eslint-disable-line\n return arg.toString(10);\n }\n }\n throw new Error('while converting number to string, invalid number value \\'' + arg + '\\' type ' + typeof arg + '.');\n}\n\nfunction fromWei(weiInput, unit, optionsInput) {\n var wei = numberToBN(weiInput); // eslint-disable-line\n var negative = wei.lt(zero); // eslint-disable-line\n var base = getValueOfUnit(unit);\n var baseLength = unitMap[unit].length - 1 || 1;\n var options = optionsInput || {};\n\n if (negative) {\n wei = wei.mul(negative1);\n }\n\n var fraction = wei.mod(base).toString(10); // eslint-disable-line\n\n while (fraction.length < baseLength) {\n fraction = '0' + fraction;\n }\n\n if (!options.pad) {\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n }\n\n var whole = wei.div(base).toString(10); // eslint-disable-line\n\n if (options.commify) {\n whole = whole.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n\n var value = '' + whole + (fraction == '0' ? '' : '.' + fraction); // eslint-disable-line\n\n if (negative) {\n value = '-' + value;\n }\n\n return value;\n}\n\nfunction toWei(etherInput, unit) {\n var ether = numberToString(etherInput); // eslint-disable-line\n var base = getValueOfUnit(unit);\n var baseLength = unitMap[unit].length - 1 || 1;\n\n // Is it negative?\n var negative = ether.substring(0, 1) === '-'; // eslint-disable-line\n if (negative) {\n ether = ether.substring(1);\n }\n\n if (ether === '.') {\n throw new Error('[ethjs-unit] while converting number ' + etherInput + ' to wei, invalid value');\n }\n\n // Split it into a whole and fractional part\n var comps = ether.split('.'); // eslint-disable-line\n if (comps.length > 2) {\n throw new Error('[ethjs-unit] while converting number ' + etherInput + ' to wei, too many decimal points');\n }\n\n var whole = comps[0],\n fraction = comps[1]; // eslint-disable-line\n\n if (!whole) {\n whole = '0';\n }\n if (!fraction) {\n fraction = '0';\n }\n if (fraction.length > baseLength) {\n throw new Error('[ethjs-unit] while converting number ' + etherInput + ' to wei, too many decimal places');\n }\n\n while (fraction.length < baseLength) {\n fraction += '0';\n }\n\n whole = new BN(whole);\n fraction = new BN(fraction);\n var wei = whole.mul(base).add(fraction); // eslint-disable-line\n\n if (negative) {\n wei = wei.mul(negative1);\n }\n\n return new BN(wei.toString(10), 10);\n}\n\nmodule.exports = {\n unitMap: unitMap,\n numberToString: numberToString,\n getValueOfUnit: getValueOfUnit,\n fromWei: fromWei,\n toWei: toWei\n};","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buf' + 'fer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buf' + 'fer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","/*! https://mths.be/utf8js v3.0.0 by @mathias */\n;(function(root) {\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\t// Taken from https://mths.be/punycode\n\tfunction ucs2decode(string) {\n\t\tvar output = [];\n\t\tvar counter = 0;\n\t\tvar length = string.length;\n\t\tvar value;\n\t\tvar extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t// Taken from https://mths.be/punycode\n\tfunction ucs2encode(array) {\n\t\tvar length = array.length;\n\t\tvar index = -1;\n\t\tvar value;\n\t\tvar output = '';\n\t\twhile (++index < length) {\n\t\t\tvalue = array[index];\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t}\n\t\treturn output;\n\t}\n\n\tfunction checkScalarValue(codePoint) {\n\t\tif (codePoint >= 0xD800 && codePoint <= 0xDFFF) {\n\t\t\tthrow Error(\n\t\t\t\t'Lone surrogate U+' + codePoint.toString(16).toUpperCase() +\n\t\t\t\t' is not a scalar value'\n\t\t\t);\n\t\t}\n\t}\n\t/*--------------------------------------------------------------------------*/\n\n\tfunction createByte(codePoint, shift) {\n\t\treturn stringFromCharCode(((codePoint >> shift) & 0x3F) | 0x80);\n\t}\n\n\tfunction encodeCodePoint(codePoint) {\n\t\tif ((codePoint & 0xFFFFFF80) == 0) { // 1-byte sequence\n\t\t\treturn stringFromCharCode(codePoint);\n\t\t}\n\t\tvar symbol = '';\n\t\tif ((codePoint & 0xFFFFF800) == 0) { // 2-byte sequence\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 6) & 0x1F) | 0xC0);\n\t\t}\n\t\telse if ((codePoint & 0xFFFF0000) == 0) { // 3-byte sequence\n\t\t\tcheckScalarValue(codePoint);\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 12) & 0x0F) | 0xE0);\n\t\t\tsymbol += createByte(codePoint, 6);\n\t\t}\n\t\telse if ((codePoint & 0xFFE00000) == 0) { // 4-byte sequence\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 18) & 0x07) | 0xF0);\n\t\t\tsymbol += createByte(codePoint, 12);\n\t\t\tsymbol += createByte(codePoint, 6);\n\t\t}\n\t\tsymbol += stringFromCharCode((codePoint & 0x3F) | 0x80);\n\t\treturn symbol;\n\t}\n\n\tfunction utf8encode(string) {\n\t\tvar codePoints = ucs2decode(string);\n\t\tvar length = codePoints.length;\n\t\tvar index = -1;\n\t\tvar codePoint;\n\t\tvar byteString = '';\n\t\twhile (++index < length) {\n\t\t\tcodePoint = codePoints[index];\n\t\t\tbyteString += encodeCodePoint(codePoint);\n\t\t}\n\t\treturn byteString;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tfunction readContinuationByte() {\n\t\tif (byteIndex >= byteCount) {\n\t\t\tthrow Error('Invalid byte index');\n\t\t}\n\n\t\tvar continuationByte = byteArray[byteIndex] & 0xFF;\n\t\tbyteIndex++;\n\n\t\tif ((continuationByte & 0xC0) == 0x80) {\n\t\t\treturn continuationByte & 0x3F;\n\t\t}\n\n\t\t// If we end up here, it’s not a continuation byte\n\t\tthrow Error('Invalid continuation byte');\n\t}\n\n\tfunction decodeSymbol() {\n\t\tvar byte1;\n\t\tvar byte2;\n\t\tvar byte3;\n\t\tvar byte4;\n\t\tvar codePoint;\n\n\t\tif (byteIndex > byteCount) {\n\t\t\tthrow Error('Invalid byte index');\n\t\t}\n\n\t\tif (byteIndex == byteCount) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Read first byte\n\t\tbyte1 = byteArray[byteIndex] & 0xFF;\n\t\tbyteIndex++;\n\n\t\t// 1-byte sequence (no continuation bytes)\n\t\tif ((byte1 & 0x80) == 0) {\n\t\t\treturn byte1;\n\t\t}\n\n\t\t// 2-byte sequence\n\t\tif ((byte1 & 0xE0) == 0xC0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x1F) << 6) | byte2;\n\t\t\tif (codePoint >= 0x80) {\n\t\t\t\treturn codePoint;\n\t\t\t} else {\n\t\t\t\tthrow Error('Invalid continuation byte');\n\t\t\t}\n\t\t}\n\n\t\t// 3-byte sequence (may include unpaired surrogates)\n\t\tif ((byte1 & 0xF0) == 0xE0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tbyte3 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x0F) << 12) | (byte2 << 6) | byte3;\n\t\t\tif (codePoint >= 0x0800) {\n\t\t\t\tcheckScalarValue(codePoint);\n\t\t\t\treturn codePoint;\n\t\t\t} else {\n\t\t\t\tthrow Error('Invalid continuation byte');\n\t\t\t}\n\t\t}\n\n\t\t// 4-byte sequence\n\t\tif ((byte1 & 0xF8) == 0xF0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tbyte3 = readContinuationByte();\n\t\t\tbyte4 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0C) |\n\t\t\t\t(byte3 << 0x06) | byte4;\n\t\t\tif (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {\n\t\t\t\treturn codePoint;\n\t\t\t}\n\t\t}\n\n\t\tthrow Error('Invalid UTF-8 detected');\n\t}\n\n\tvar byteArray;\n\tvar byteCount;\n\tvar byteIndex;\n\tfunction utf8decode(byteString) {\n\t\tbyteArray = ucs2decode(byteString);\n\t\tbyteCount = byteArray.length;\n\t\tbyteIndex = 0;\n\t\tvar codePoints = [];\n\t\tvar tmp;\n\t\twhile ((tmp = decodeSymbol()) !== false) {\n\t\t\tcodePoints.push(tmp);\n\t\t}\n\t\treturn ucs2encode(codePoints);\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\troot.version = '3.0.0';\n\troot.encode = utf8encode;\n\troot.decode = utf8decode;\n\n}(typeof exports === 'undefined' ? this.utf8 = {} : exports));\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst utils_1 = require(\"./utils\");\r\n/**\r\n * Returns true if the bloom is a valid bloom\r\n * @param bloom The bloom\r\n */\r\nfunction isBloom(bloom) {\r\n if (typeof bloom !== 'string') {\r\n return false;\r\n }\r\n if (!/^(0x)?[0-9a-f]{512}$/i.test(bloom)) {\r\n return false;\r\n }\r\n if (/^(0x)?[0-9a-f]{512}$/.test(bloom) ||\r\n /^(0x)?[0-9A-F]{512}$/.test(bloom)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isBloom = isBloom;\r\n/**\r\n * Returns true if the value is part of the given bloom\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param value The value\r\n */\r\nfunction isInBloom(bloom, value) {\r\n if (typeof value === 'object' && value.constructor === Uint8Array) {\r\n value = utils_1.bytesToHex(value);\r\n }\r\n const hash = utils_1.keccak256(value).replace('0x', '');\r\n for (let i = 0; i < 12; i += 4) {\r\n // calculate bit position in bloom filter that must be active\r\n const bitpos = ((parseInt(hash.substr(i, 2), 16) << 8) +\r\n parseInt(hash.substr(i + 2, 2), 16)) &\r\n 2047;\r\n // test if bitpos in bloom is active\r\n const code = codePointToInt(bloom.charCodeAt(bloom.length - 1 - Math.floor(bitpos / 4)));\r\n const offset = 1 << bitpos % 4;\r\n if ((code & offset) !== offset) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexports.isInBloom = isInBloom;\r\n/**\r\n * Code points to int\r\n * @param codePoint The code point\r\n */\r\nfunction codePointToInt(codePoint) {\r\n if (codePoint >= 48 && codePoint <= 57) {\r\n /* ['0'..'9'] -> [0..9] */\r\n return codePoint - 48;\r\n }\r\n if (codePoint >= 65 && codePoint <= 70) {\r\n /* ['A'..'F'] -> [10..15] */\r\n return codePoint - 55;\r\n }\r\n if (codePoint >= 97 && codePoint <= 102) {\r\n /* ['a'..'f'] -> [10..15] */\r\n return codePoint - 87;\r\n }\r\n throw new Error('invalid bloom');\r\n}\r\n/**\r\n * Returns true if the ethereum users address is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param address the address to test\r\n */\r\nfunction isUserEthereumAddressInBloom(bloom, ethereumAddress) {\r\n if (!isBloom(bloom)) {\r\n throw new Error('Invalid bloom given');\r\n }\r\n if (!isAddress(ethereumAddress)) {\r\n throw new Error(`Invalid ethereum address given: \"${ethereumAddress}\"`);\r\n }\r\n // you have to pad the ethereum address to 32 bytes\r\n // else the bloom filter does not work\r\n // this is only if your matching the USERS\r\n // ethereum address. Contract address do not need this\r\n // hence why we have 2 methods\r\n // (0x is not in the 2nd parameter of padleft so 64 chars is fine)\r\n const address = utils_1.padLeft(ethereumAddress, 64);\r\n return isInBloom(bloom, address);\r\n}\r\nexports.isUserEthereumAddressInBloom = isUserEthereumAddressInBloom;\r\n/**\r\n * Returns true if the contract address is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param contractAddress the contract address to test\r\n */\r\nfunction isContractAddressInBloom(bloom, contractAddress) {\r\n if (!isBloom(bloom)) {\r\n throw new Error('Invalid bloom given');\r\n }\r\n if (!isAddress(contractAddress)) {\r\n throw new Error(`Invalid contract address given: \"${contractAddress}\"`);\r\n }\r\n return isInBloom(bloom, contractAddress);\r\n}\r\nexports.isContractAddressInBloom = isContractAddressInBloom;\r\n/**\r\n * Returns true if the topic is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param topic the topic encoded hex\r\n */\r\nfunction isTopicInBloom(bloom, topic) {\r\n if (!isBloom(bloom)) {\r\n throw new Error('Invalid bloom given');\r\n }\r\n if (!isTopic(topic)) {\r\n throw new Error('Invalid topic');\r\n }\r\n return isInBloom(bloom, topic);\r\n}\r\nexports.isTopicInBloom = isTopicInBloom;\r\n/**\r\n * Checks if its a valid topic\r\n * @param topic encoded hex topic\r\n */\r\nfunction isTopic(topic) {\r\n if (typeof topic !== 'string') {\r\n return false;\r\n }\r\n if (!/^(0x)?[0-9a-f]{64}$/i.test(topic)) {\r\n return false;\r\n }\r\n else if (/^(0x)?[0-9a-f]{64}$/.test(topic) ||\r\n /^(0x)?[0-9A-F]{64}$/.test(topic)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isTopic = isTopic;\r\n/**\r\n * Is valid address\r\n * @param address The address\r\n */\r\nfunction isAddress(address) {\r\n if (typeof address !== 'string') {\r\n return false;\r\n }\r\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\r\n return true;\r\n }\r\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isAddress = isAddress;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst sha3 = require(\"js-sha3\");\r\n/**\r\n * Keccak256 hash\r\n * @param data The data\r\n */\r\nfunction keccak256(data) {\r\n return '0x' + sha3.keccak_256(toByteArray(data));\r\n}\r\nexports.keccak256 = keccak256;\r\n/**\r\n * Adding padding to string on the left\r\n * @param value The value\r\n * @param chars The chars\r\n */\r\nexports.padLeft = (value, chars) => {\r\n const hasPrefix = /^0x/i.test(value) || typeof value === 'number';\r\n value = value.toString().replace(/^0x/i, '');\r\n const padding = chars - value.length + 1 >= 0 ? chars - value.length + 1 : 0;\r\n return (hasPrefix ? '0x' : '') + new Array(padding).join('0') + value;\r\n};\r\n/**\r\n * Convert bytes to hex\r\n * @param bytes The bytes\r\n */\r\nfunction bytesToHex(bytes) {\r\n const hex = [];\r\n for (let i = 0; i < bytes.length; i++) {\r\n hex.push((bytes[i] >>> 4).toString(16));\r\n hex.push((bytes[i] & 0xf).toString(16));\r\n }\r\n return `0x${hex.join('').replace(/^0+/, '')}`;\r\n}\r\nexports.bytesToHex = bytesToHex;\r\n/**\r\n * To byte array\r\n * @param value The value\r\n */\r\nfunction toByteArray(value) {\r\n if (value == null) {\r\n throw new Error('cannot convert null value to array');\r\n }\r\n if (typeof value === 'string') {\r\n const match = value.match(/^(0x)?[0-9a-fA-F]*$/);\r\n if (!match) {\r\n throw new Error('invalid hexidecimal string');\r\n }\r\n if (match[1] !== '0x') {\r\n throw new Error('hex string must have 0x prefix');\r\n }\r\n value = value.substring(2);\r\n if (value.length % 2) {\r\n value = '0' + value;\r\n }\r\n const result = [];\r\n for (let i = 0; i < value.length; i += 2) {\r\n result.push(parseInt(value.substr(i, 2), 16));\r\n }\r\n return addSlice(new Uint8Array(result));\r\n }\r\n if (isByteArray(value)) {\r\n return addSlice(new Uint8Array(value));\r\n }\r\n throw new Error('invalid arrayify value');\r\n}\r\nexports.toByteArray = toByteArray;\r\n/**\r\n * Is byte array\r\n * @param value The value\r\n */\r\nfunction isByteArray(value) {\r\n if (!value ||\r\n // tslint:disable-next-line: radix\r\n parseInt(String(value.length)) != value.length ||\r\n typeof value === 'string') {\r\n return false;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n const v = value[i];\r\n // tslint:disable-next-line: radix\r\n if (v < 0 || v >= 256 || parseInt(String(v)) != v) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Add slice to array\r\n * @param array The array\r\n */\r\nfunction addSlice(array) {\r\n if (array.slice !== undefined) {\r\n return array;\r\n }\r\n array.slice = () => {\r\n const args = Array.prototype.slice.call(arguments);\r\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\r\n };\r\n return array;\r\n}\r\n","/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\n var CSHAKE_PADDING = [4, 1024, 262144, 67108864];\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\n var PADDING = [6, 1536, 393216, 100663296];\n var SHIFT = [0, 8, 16, 24];\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n var BITS = [224, 256, 384, 512];\n var SHAKE_BITS = [128, 256];\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];\n var CSHAKE_BYTEPAD = {\n '128': 168,\n '256': 136\n };\n\n if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (bits, padding, outputType) {\n return function (message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n\n var createShakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n\n var createCshakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits, n, s) {\n return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n\n var createKmacOutputMethod = function (bits, padding, outputType) {\n return function (key, message, outputBits, s) {\n return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n\n var createOutputMethods = function (method, createMethod, bits, padding) {\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n\n var createMethod = function (bits, padding) {\n var method = createOutputMethod(bits, padding, 'hex');\n method.create = function () {\n return new Keccak(bits, padding, bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n\n var createShakeMethod = function (bits, padding) {\n var method = createShakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function (message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n\n var createCshakeMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits, n, s) {\n if (!n && !s) {\n return methods['shake' + bits].create(outputBits);\n } else {\n return new Keccak(bits, padding, outputBits).bytepad([n, s], w);\n }\n };\n method.update = function (message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n\n var createKmacMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, 'hex');\n method.create = function (key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);\n };\n method.update = function (key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n\n var algorithms = [\n { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },\n { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },\n { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },\n { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },\n { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }\n ];\n\n var methods = {}, methodNames = [];\n\n for (var i = 0; i < algorithms.length; ++i) {\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for (var j = 0; j < bits.length; ++j) {\n var methodName = algorithm.name + '_' + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== 'sha3') {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = (1600 - (bits << 1)) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n\n for (var i = 0; i < 50; ++i) {\n this.s[i] = 0;\n }\n }\n\n Keccak.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length,\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\n\n while (index < length) {\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (notString) {\n for (i = this.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n this.reset = true;\n } else {\n this.start = i;\n }\n }\n return this;\n };\n\n Keccak.prototype.encode = function (x, right) {\n var o = x & 255, n = 1;\n var bytes = [o];\n x = x >> 8;\n o = x & 255;\n while (o > 0) {\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) {\n bytes.push(n);\n } else {\n bytes.unshift(n);\n }\n this.update(bytes);\n return bytes.length;\n };\n\n Keccak.prototype.encodeString = function (str) {\n var notString, type = typeof str;\n if (type !== 'string') {\n if (type === 'object') {\n if (str === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {\n str = new Uint8Array(str);\n } else if (!Array.isArray(str)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var bytes = 0, length = str.length;\n if (notString) {\n bytes = length;\n } else {\n for (var i = 0; i < str.length; ++i) {\n var code = str.charCodeAt(i);\n if (code < 0x80) {\n bytes += 1;\n } else if (code < 0x800) {\n bytes += 2;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes += 3;\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));\n bytes += 4;\n }\n }\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n\n Keccak.prototype.bytepad = function (strs, w) {\n var bytes = this.encode(w);\n for (var i = 0; i < strs.length; ++i) {\n bytes += this.encodeString(strs[i]);\n }\n var paddingBytes = w - bytes % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n\n Keccak.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n };\n\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = '', block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) {\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\n }\n if (extraBytes > 2) {\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\n }\n }\n return hex;\n };\n\n Keccak.prototype.arrayBuffer = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) {\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\n } else {\n buffer = new ArrayBuffer(bytes);\n }\n var array = new Uint32Array(buffer);\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n array[j] = s[i];\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n array[i] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n\n Keccak.prototype.digest = Keccak.prototype.array = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = (block >> 8) & 0xFF;\n array[offset + 2] = (block >> 16) & 0xFF;\n array[offset + 3] = (block >> 24) & 0xFF;\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) {\n array[offset + 1] = (block >> 8) & 0xFF;\n }\n if (extraBytes > 2) {\n array[offset + 2] = (block >> 16) & 0xFF;\n }\n }\n return array;\n };\n\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n\n Kmac.prototype = new Keccak();\n\n Kmac.prototype.finalize = function () {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n\n var f = function (s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = (s[11] << 4) | (s[10] >>> 28);\n b33 = (s[10] << 4) | (s[11] >>> 28);\n b14 = (s[20] << 3) | (s[21] >>> 29);\n b15 = (s[21] << 3) | (s[20] >>> 29);\n b46 = (s[31] << 9) | (s[30] >>> 23);\n b47 = (s[30] << 9) | (s[31] >>> 23);\n b28 = (s[40] << 18) | (s[41] >>> 14);\n b29 = (s[41] << 18) | (s[40] >>> 14);\n b20 = (s[2] << 1) | (s[3] >>> 31);\n b21 = (s[3] << 1) | (s[2] >>> 31);\n b2 = (s[13] << 12) | (s[12] >>> 20);\n b3 = (s[12] << 12) | (s[13] >>> 20);\n b34 = (s[22] << 10) | (s[23] >>> 22);\n b35 = (s[23] << 10) | (s[22] >>> 22);\n b16 = (s[33] << 13) | (s[32] >>> 19);\n b17 = (s[32] << 13) | (s[33] >>> 19);\n b48 = (s[42] << 2) | (s[43] >>> 30);\n b49 = (s[43] << 2) | (s[42] >>> 30);\n b40 = (s[5] << 30) | (s[4] >>> 2);\n b41 = (s[4] << 30) | (s[5] >>> 2);\n b22 = (s[14] << 6) | (s[15] >>> 26);\n b23 = (s[15] << 6) | (s[14] >>> 26);\n b4 = (s[25] << 11) | (s[24] >>> 21);\n b5 = (s[24] << 11) | (s[25] >>> 21);\n b36 = (s[34] << 15) | (s[35] >>> 17);\n b37 = (s[35] << 15) | (s[34] >>> 17);\n b18 = (s[45] << 29) | (s[44] >>> 3);\n b19 = (s[44] << 29) | (s[45] >>> 3);\n b10 = (s[6] << 28) | (s[7] >>> 4);\n b11 = (s[7] << 28) | (s[6] >>> 4);\n b42 = (s[17] << 23) | (s[16] >>> 9);\n b43 = (s[16] << 23) | (s[17] >>> 9);\n b24 = (s[26] << 25) | (s[27] >>> 7);\n b25 = (s[27] << 25) | (s[26] >>> 7);\n b6 = (s[36] << 21) | (s[37] >>> 11);\n b7 = (s[37] << 21) | (s[36] >>> 11);\n b38 = (s[47] << 24) | (s[46] >>> 8);\n b39 = (s[46] << 24) | (s[47] >>> 8);\n b30 = (s[8] << 27) | (s[9] >>> 5);\n b31 = (s[9] << 27) | (s[8] >>> 5);\n b12 = (s[18] << 20) | (s[19] >>> 12);\n b13 = (s[19] << 20) | (s[18] >>> 12);\n b44 = (s[29] << 7) | (s[28] >>> 25);\n b45 = (s[28] << 7) | (s[29] >>> 25);\n b26 = (s[38] << 8) | (s[39] >>> 24);\n b27 = (s[39] << 8) | (s[38] >>> 24);\n b8 = (s[48] << 14) | (s[49] >>> 18);\n b9 = (s[49] << 14) | (s[48] >>> 18);\n\n s[0] = b0 ^ (~b2 & b4);\n s[1] = b1 ^ (~b3 & b5);\n s[10] = b10 ^ (~b12 & b14);\n s[11] = b11 ^ (~b13 & b15);\n s[20] = b20 ^ (~b22 & b24);\n s[21] = b21 ^ (~b23 & b25);\n s[30] = b30 ^ (~b32 & b34);\n s[31] = b31 ^ (~b33 & b35);\n s[40] = b40 ^ (~b42 & b44);\n s[41] = b41 ^ (~b43 & b45);\n s[2] = b2 ^ (~b4 & b6);\n s[3] = b3 ^ (~b5 & b7);\n s[12] = b12 ^ (~b14 & b16);\n s[13] = b13 ^ (~b15 & b17);\n s[22] = b22 ^ (~b24 & b26);\n s[23] = b23 ^ (~b25 & b27);\n s[32] = b32 ^ (~b34 & b36);\n s[33] = b33 ^ (~b35 & b37);\n s[42] = b42 ^ (~b44 & b46);\n s[43] = b43 ^ (~b45 & b47);\n s[4] = b4 ^ (~b6 & b8);\n s[5] = b5 ^ (~b7 & b9);\n s[14] = b14 ^ (~b16 & b18);\n s[15] = b15 ^ (~b17 & b19);\n s[24] = b24 ^ (~b26 & b28);\n s[25] = b25 ^ (~b27 & b29);\n s[34] = b34 ^ (~b36 & b38);\n s[35] = b35 ^ (~b37 & b39);\n s[44] = b44 ^ (~b46 & b48);\n s[45] = b45 ^ (~b47 & b49);\n s[6] = b6 ^ (~b8 & b0);\n s[7] = b7 ^ (~b9 & b1);\n s[16] = b16 ^ (~b18 & b10);\n s[17] = b17 ^ (~b19 & b11);\n s[26] = b26 ^ (~b28 & b20);\n s[27] = b27 ^ (~b29 & b21);\n s[36] = b36 ^ (~b38 & b30);\n s[37] = b37 ^ (~b39 & b31);\n s[46] = b46 ^ (~b48 & b40);\n s[47] = b47 ^ (~b49 & b41);\n s[8] = b8 ^ (~b0 & b2);\n s[9] = b9 ^ (~b1 & b3);\n s[18] = b18 ^ (~b10 & b12);\n s[19] = b19 ^ (~b11 & b13);\n s[28] = b28 ^ (~b20 & b22);\n s[29] = b29 ^ (~b21 & b23);\n s[38] = b38 ^ (~b30 & b32);\n s[39] = b39 ^ (~b31 & b33);\n s[48] = b48 ^ (~b40 & b42);\n s[49] = b49 ^ (~b41 & b43);\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n\n if (COMMON_JS) {\n module.exports = methods;\n } else {\n for (i = 0; i < methodNames.length; ++i) {\n root[methodNames[i]] = methods[methodNames[i]];\n }\n if (AMD) {\n define(function () {\n return methods;\n });\n }\n }\n})();\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file soliditySha3.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\nvar BN = require('bn.js');\nvar utils = require('./utils.js');\nvar _elementaryName = function (name) {\n /*jshint maxcomplexity:false */\n if (name.startsWith('int[')) {\n return 'int256' + name.slice(3);\n }\n else if (name === 'int') {\n return 'int256';\n }\n else if (name.startsWith('uint[')) {\n return 'uint256' + name.slice(4);\n }\n else if (name === 'uint') {\n return 'uint256';\n }\n else if (name.startsWith('fixed[')) {\n return 'fixed128x128' + name.slice(5);\n }\n else if (name === 'fixed') {\n return 'fixed128x128';\n }\n else if (name.startsWith('ufixed[')) {\n return 'ufixed128x128' + name.slice(6);\n }\n else if (name === 'ufixed') {\n return 'ufixed128x128';\n }\n return name;\n};\n// Parse N from type\nvar _parseTypeN = function (type) {\n var typesize = /^\\D+(\\d+).*$/.exec(type);\n return typesize ? parseInt(typesize[1], 10) : null;\n};\n// Parse N from type[]\nvar _parseTypeNArray = function (type) {\n var arraySize = /^\\D+\\d*\\[(\\d+)\\]$/.exec(type);\n return arraySize ? parseInt(arraySize[1], 10) : null;\n};\nvar _parseNumber = function (arg) {\n var type = typeof arg;\n if (type === 'string') {\n if (utils.isHexStrict(arg)) {\n return new BN(arg.replace(/0x/i, ''), 16);\n }\n else {\n return new BN(arg, 10);\n }\n }\n else if (type === 'number') {\n return new BN(arg);\n }\n else if (utils.isBigNumber(arg)) {\n return new BN(arg.toString(10));\n }\n else if (utils.isBN(arg)) {\n return arg;\n }\n else {\n throw new Error(arg + ' is not a number');\n }\n};\nvar _solidityPack = function (type, value, arraySize) {\n /*jshint maxcomplexity:false */\n var size, num;\n type = _elementaryName(type);\n if (type === 'bytes') {\n if (value.replace(/^0x/i, '').length % 2 !== 0) {\n throw new Error('Invalid bytes characters ' + value.length);\n }\n return value;\n }\n else if (type === 'string') {\n return utils.utf8ToHex(value);\n }\n else if (type === 'bool') {\n return value ? '01' : '00';\n }\n else if (type.startsWith('address')) {\n if (arraySize) {\n size = 64;\n }\n else {\n size = 40;\n }\n if (!utils.isAddress(value)) {\n throw new Error(value + ' is not a valid address, or the checksum is invalid.');\n }\n return utils.leftPad(value.toLowerCase(), size);\n }\n size = _parseTypeN(type);\n if (type.startsWith('bytes')) {\n if (!size) {\n throw new Error('bytes[] not yet supported in solidity');\n }\n // must be 32 byte slices when in an array\n if (arraySize) {\n size = 32;\n }\n if (size < 1 || size > 32 || size < value.replace(/^0x/i, '').length / 2) {\n throw new Error('Invalid bytes' + size + ' for ' + value);\n }\n return utils.rightPad(value, size * 2);\n }\n else if (type.startsWith('uint')) {\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint' + size + ' size');\n }\n num = _parseNumber(value);\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength());\n }\n if (num.lt(new BN(0))) {\n throw new Error('Supplied uint ' + num.toString() + ' is negative');\n }\n return size ? utils.leftPad(num.toString('hex'), size / 8 * 2) : num;\n }\n else if (type.startsWith('int')) {\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int' + size + ' size');\n }\n num = _parseNumber(value);\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength());\n }\n if (num.lt(new BN(0))) {\n return num.toTwos(size).toString('hex');\n }\n else {\n return size ? utils.leftPad(num.toString('hex'), size / 8 * 2) : num;\n }\n }\n else {\n // FIXME: support all other types\n throw new Error('Unsupported or invalid type: ' + type);\n }\n};\nvar _processSolidityEncodePackedArgs = function (arg) {\n /*jshint maxcomplexity:false */\n if (Array.isArray(arg)) {\n throw new Error('Autodetection of array types is not supported.');\n }\n var type, value = '';\n var hexArg, arraySize;\n // if type is given\n if (!!arg && typeof arg === 'object' && (arg.hasOwnProperty('v') || arg.hasOwnProperty('t') || arg.hasOwnProperty('value') || arg.hasOwnProperty('type'))) {\n type = arg.hasOwnProperty('t') ? arg.t : arg.type;\n value = arg.hasOwnProperty('v') ? arg.v : arg.value;\n // otherwise try to guess the type\n }\n else {\n type = utils.toHex(arg, true);\n value = utils.toHex(arg);\n if (!type.startsWith('int') && !type.startsWith('uint')) {\n type = 'bytes';\n }\n }\n if ((type.startsWith('int') || type.startsWith('uint')) && typeof value === 'string' && !/^(-)?0x/i.test(value)) {\n value = new BN(value);\n }\n // get the array size\n if (Array.isArray(value)) {\n arraySize = _parseTypeNArray(type);\n if (arraySize && value.length !== arraySize) {\n throw new Error(type + ' is not matching the given array ' + JSON.stringify(value));\n }\n else {\n arraySize = value.length;\n }\n }\n if (Array.isArray(value)) {\n hexArg = value.map(function (val) {\n return _solidityPack(type, val, arraySize).toString('hex').replace('0x', '');\n });\n return hexArg.join('');\n }\n else {\n hexArg = _solidityPack(type, value, arraySize);\n return hexArg.toString('hex').replace('0x', '');\n }\n};\n/**\n * Hashes solidity values to a sha3 hash using keccak 256\n *\n * @method soliditySha3\n * @return {Object} the sha3\n */\nvar soliditySha3 = function () {\n /*jshint maxcomplexity:false */\n var args = Array.prototype.slice.call(arguments);\n var hexArgs = args.map(_processSolidityEncodePackedArgs);\n // console.log(args, hexArgs);\n // console.log('0x'+ hexArgs.join(''));\n return utils.sha3('0x' + hexArgs.join(''));\n};\n/**\n * Hashes solidity values to a sha3 hash using keccak 256 but does return the hash of value `null` instead of `null`\n *\n * @method soliditySha3Raw\n * @return {Object} the sha3\n */\nvar soliditySha3Raw = function () {\n return utils.sha3Raw('0x' + Array.prototype.slice.call(arguments).map(_processSolidityEncodePackedArgs).join(''));\n};\n/**\n * Encode packed args to hex\n *\n * @method encodePacked\n * @return {String} the hex encoded arguments\n */\nvar encodePacked = function () {\n /*jshint maxcomplexity:false */\n var args = Array.prototype.slice.call(arguments);\n var hexArgs = args.map(_processSolidityEncodePackedArgs);\n return '0x' + hexArgs.join('').toLowerCase();\n};\nmodule.exports = {\n soliditySha3: soliditySha3,\n soliditySha3Raw: soliditySha3Raw,\n encodePacked: encodePacked\n};\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/**\n * @file batch.js\n * @author Marek Kotewicz \n * @date 2015\n */\n\"use strict\";\nvar Jsonrpc = require('./jsonrpc');\nvar errors = require('web3-core-helpers').errors;\nvar Batch = function (requestManager) {\n this.requestManager = requestManager;\n this.requests = [];\n};\n/**\n * Should be called to add create new request to batch request\n *\n * @method add\n * @param {Object} jsonrpc requet object\n */\nBatch.prototype.add = function (request) {\n this.requests.push(request);\n};\n/**\n * Should be called to execute batch request\n *\n * @method execute\n */\nBatch.prototype.execute = function () {\n var requests = this.requests;\n this.requestManager.sendBatch(requests, function (err, results) {\n results = results || [];\n requests.map(function (request, index) {\n return results[index] || {};\n }).forEach(function (result, index) {\n if (requests[index].callback) {\n if (result && result.error) {\n return requests[index].callback(errors.ErrorResponse(result));\n }\n if (!Jsonrpc.isValidResponse(result)) {\n return requests[index].callback(errors.InvalidResponse(result));\n }\n try {\n requests[index].callback(null, requests[index].format ? requests[index].format(result.result) : result.result);\n }\n catch (err) {\n requests[index].callback(err);\n }\n }\n });\n });\n};\nmodule.exports = Batch;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file givenProvider.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\n\"use strict\";\nvar givenProvider = null;\n// ADD GIVEN PROVIDER\n/* jshint ignore:start */\nvar global;\ntry {\n global = Function('return this')();\n}\ncatch (e) {\n global = window;\n}\n// EIP-1193: window.ethereum\nif (typeof global.ethereum !== 'undefined') {\n givenProvider = global.ethereum;\n // Legacy web3.currentProvider\n}\nelse if (typeof global.web3 !== 'undefined' && global.web3.currentProvider) {\n if (global.web3.currentProvider.sendAsync) {\n global.web3.currentProvider.send = global.web3.currentProvider.sendAsync;\n delete global.web3.currentProvider.sendAsync;\n }\n // if connection is 'ipcProviderWrapper', add subscription support\n if (!global.web3.currentProvider.on &&\n global.web3.currentProvider.connection &&\n global.web3.currentProvider.connection.constructor.name === 'ipcProviderWrapper') {\n global.web3.currentProvider.on = function (type, callback) {\n if (typeof callback !== 'function')\n throw new Error('The second parameter callback must be a function.');\n switch (type) {\n case 'data':\n this.connection.on('data', function (data) {\n var result = '';\n data = data.toString();\n try {\n result = JSON.parse(data);\n }\n catch (e) {\n return callback(new Error('Couldn\\'t parse response data' + data));\n }\n // notification\n if (!result.id && result.method.indexOf('_subscription') !== -1) {\n callback(null, result);\n }\n });\n break;\n default:\n this.connection.on(type, callback);\n break;\n }\n };\n }\n givenProvider = global.web3.currentProvider;\n}\n/* jshint ignore:end */\nmodule.exports = givenProvider;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file WebsocketProvider.js\n * @authors: Samuel Furter , Fabian Vogelsteller \n * @date 2019\n */\n'use strict';\nvar EventEmitter = require('eventemitter3');\nvar helpers = require('./helpers.js');\nvar errors = require('web3-core-helpers').errors;\nvar Ws = require('websocket').w3cwebsocket;\n/**\n * @param {string} url\n * @param {Object} options\n *\n * @constructor\n */\nvar WebsocketProvider = function WebsocketProvider(url, options) {\n EventEmitter.call(this);\n options = options || {};\n this.url = url;\n this._customTimeout = options.timeout || 1000 * 15;\n this.headers = options.headers || {};\n this.protocol = options.protocol || undefined;\n this.reconnectOptions = Object.assign({\n auto: false,\n delay: 5000,\n maxAttempts: false,\n onTimeout: false\n }, options.reconnect);\n this.clientConfig = options.clientConfig || undefined; // Allow a custom client configuration\n this.requestOptions = options.requestOptions || undefined; // Allow a custom request options (https://github.com/theturtle32/WebSocket-Node/blob/master/docs/WebSocketClient.md#connectrequesturl-requestedprotocols-origin-headers-requestoptions)\n this.DATA = 'data';\n this.CLOSE = 'close';\n this.ERROR = 'error';\n this.CONNECT = 'connect';\n this.RECONNECT = 'reconnect';\n this.connection = null;\n this.requestQueue = new Map();\n this.responseQueue = new Map();\n this.reconnectAttempts = 0;\n this.reconnecting = false;\n // The w3cwebsocket implementation does not support Basic Auth\n // username/password in the URL. So generate the basic auth header, and\n // pass through with any additional headers supplied in constructor\n var parsedURL = helpers.parseURL(url);\n if (parsedURL.username && parsedURL.password) {\n this.headers.authorization = 'Basic ' + helpers.btoa(parsedURL.username + ':' + parsedURL.password);\n }\n // When all node core implementations that do not have the\n // WHATWG compatible URL parser go out of service this line can be removed.\n if (parsedURL.auth) {\n this.headers.authorization = 'Basic ' + helpers.btoa(parsedURL.auth);\n }\n // make property `connected` which will return the current connection status\n Object.defineProperty(this, 'connected', {\n get: function () {\n return this.connection && this.connection.readyState === this.connection.OPEN;\n },\n enumerable: true\n });\n this.connect();\n};\n// Inherit from EventEmitter\nWebsocketProvider.prototype = Object.create(EventEmitter.prototype);\nWebsocketProvider.prototype.constructor = WebsocketProvider;\n/**\n * Connects to the configured node\n *\n * @method connect\n *\n * @returns {void}\n */\nWebsocketProvider.prototype.connect = function () {\n this.connection = new Ws(this.url, this.protocol, undefined, this.headers, this.requestOptions, this.clientConfig);\n this._addSocketListeners();\n};\n/**\n * Listener for the `data` event of the underlying WebSocket object\n *\n * @method _onMessage\n *\n * @returns {void}\n */\nWebsocketProvider.prototype._onMessage = function (e) {\n var _this = this;\n this._parseResponse((typeof e.data === 'string') ? e.data : '').forEach(function (result) {\n if (result.method && result.method.indexOf('_subscription') !== -1) {\n _this.emit(_this.DATA, result);\n return;\n }\n var id = result.id;\n // get the id which matches the returned id\n if (Array.isArray(result)) {\n id = result[0].id;\n }\n if (_this.responseQueue.has(id)) {\n if (_this.responseQueue.get(id).callback !== undefined) {\n _this.responseQueue.get(id).callback(false, result);\n }\n _this.responseQueue.delete(id);\n }\n });\n};\n/**\n * Listener for the `open` event of the underlying WebSocket object\n *\n * @method _onConnect\n *\n * @returns {void}\n */\nWebsocketProvider.prototype._onConnect = function () {\n this.emit(this.CONNECT);\n this.reconnectAttempts = 0;\n this.reconnecting = false;\n if (this.requestQueue.size > 0) {\n var _this = this;\n this.requestQueue.forEach(function (request, key) {\n _this.send(request.payload, request.callback);\n _this.requestQueue.delete(key);\n });\n }\n};\n/**\n * Listener for the `close` event of the underlying WebSocket object\n *\n * @method _onClose\n *\n * @returns {void}\n */\nWebsocketProvider.prototype._onClose = function (event) {\n var _this = this;\n if (this.reconnectOptions.auto && (![1000, 1001].includes(event.code) || event.wasClean === false)) {\n this.reconnect();\n return;\n }\n this.emit(this.CLOSE, event);\n if (this.requestQueue.size > 0) {\n this.requestQueue.forEach(function (request, key) {\n request.callback(errors.ConnectionNotOpenError(event));\n _this.requestQueue.delete(key);\n });\n }\n if (this.responseQueue.size > 0) {\n this.responseQueue.forEach(function (request, key) {\n request.callback(errors.InvalidConnection('on WS', event));\n _this.responseQueue.delete(key);\n });\n }\n this._removeSocketListeners();\n this.removeAllListeners();\n};\n/**\n * Will add the required socket listeners\n *\n * @method _addSocketListeners\n *\n * @returns {void}\n */\nWebsocketProvider.prototype._addSocketListeners = function () {\n this.connection.addEventListener('message', this._onMessage.bind(this));\n this.connection.addEventListener('open', this._onConnect.bind(this));\n this.connection.addEventListener('close', this._onClose.bind(this));\n};\n/**\n * Will remove all socket listeners\n *\n * @method _removeSocketListeners\n *\n * @returns {void}\n */\nWebsocketProvider.prototype._removeSocketListeners = function () {\n this.connection.removeEventListener('message', this._onMessage);\n this.connection.removeEventListener('open', this._onConnect);\n this.connection.removeEventListener('close', this._onClose);\n};\n/**\n * Will parse the response and make an array out of it.\n *\n * @method _parseResponse\n *\n * @param {String} data\n *\n * @returns {Array}\n */\nWebsocketProvider.prototype._parseResponse = function (data) {\n var _this = this, returnValues = [];\n // DE-CHUNKER\n var dechunkedData = data\n .replace(/\\}[\\n\\r]?\\{/g, '}|--|{') // }{\n .replace(/\\}\\][\\n\\r]?\\[\\{/g, '}]|--|[{') // }][{\n .replace(/\\}[\\n\\r]?\\[\\{/g, '}|--|[{') // }[{\n .replace(/\\}\\][\\n\\r]?\\{/g, '}]|--|{') // }]{\n .split('|--|');\n dechunkedData.forEach(function (data) {\n // prepend the last chunk\n if (_this.lastChunk)\n data = _this.lastChunk + data;\n var result = null;\n try {\n result = JSON.parse(data);\n }\n catch (e) {\n _this.lastChunk = data;\n // start timeout to cancel all requests\n clearTimeout(_this.lastChunkTimeout);\n _this.lastChunkTimeout = setTimeout(function () {\n if (_this.reconnectOptions.auto && _this.reconnectOptions.onTimeout) {\n _this.reconnect();\n return;\n }\n _this.emit(_this.ERROR, errors.ConnectionTimeout(_this._customTimeout));\n if (_this.requestQueue.size > 0) {\n _this.requestQueue.forEach(function (request, key) {\n request.callback(errors.ConnectionTimeout(_this._customTimeout));\n _this.requestQueue.delete(key);\n });\n }\n }, _this._customTimeout);\n return;\n }\n // cancel timeout and set chunk to null\n clearTimeout(_this.lastChunkTimeout);\n _this.lastChunk = null;\n if (result)\n returnValues.push(result);\n });\n return returnValues;\n};\n/**\n * Does check if the provider is connecting and will add it to the queue or will send it directly\n *\n * @method send\n *\n * @param {Object} payload\n * @param {Function} callback\n *\n * @returns {void}\n */\nWebsocketProvider.prototype.send = function (payload, callback) {\n var _this = this;\n var id = payload.id;\n var request = { payload: payload, callback: callback };\n if (Array.isArray(payload)) {\n id = payload[0].id;\n }\n if (this.connection.readyState === this.connection.CONNECTING || this.reconnecting) {\n this.requestQueue.set(id, request);\n return;\n }\n if (this.connection.readyState !== this.connection.OPEN) {\n this.requestQueue.delete(id);\n this.emit(this.ERROR, errors.ConnectionNotOpenError());\n request.callback(errors.ConnectionNotOpenError());\n return;\n }\n this.responseQueue.set(id, request);\n this.requestQueue.delete(id);\n try {\n this.connection.send(JSON.stringify(request.payload));\n }\n catch (error) {\n request.callback(error);\n _this.responseQueue.delete(id);\n }\n};\n/**\n * Resets the providers, clears all callbacks\n *\n * @method reset\n *\n * @returns {void}\n */\nWebsocketProvider.prototype.reset = function () {\n this.responseQueue.clear();\n this.requestQueue.clear();\n this.removeAllListeners();\n this._removeSocketListeners();\n this._addSocketListeners();\n};\n/**\n * Closes the current connection with the given code and reason arguments\n *\n * @method disconnect\n *\n * @param {number} code\n * @param {string} reason\n *\n * @returns {void}\n */\nWebsocketProvider.prototype.disconnect = function (code, reason) {\n this._removeSocketListeners();\n this.connection.close(code || 1000, reason);\n};\n/**\n * Returns the desired boolean.\n *\n * @method supportsSubscriptions\n *\n * @returns {boolean}\n */\nWebsocketProvider.prototype.supportsSubscriptions = function () {\n return true;\n};\n/**\n * Removes the listeners and reconnects to the socket.\n *\n * @method reconnect\n *\n * @returns {void}\n */\nWebsocketProvider.prototype.reconnect = function () {\n var _this = this;\n this.reconnecting = true;\n if (this.responseQueue.size > 0) {\n this.responseQueue.forEach(function (request, key) {\n request.callback(errors.PendingRequestsOnReconnectingError());\n _this.responseQueue.delete(key);\n });\n }\n if (!this.reconnectOptions.maxAttempts ||\n this.reconnectAttempts < this.reconnectOptions.maxAttempts) {\n setTimeout(function () {\n _this.reconnectAttempts++;\n _this._removeSocketListeners();\n _this.emit(_this.RECONNECT, _this.reconnectAttempts);\n _this.connect();\n }, this.reconnectOptions.delay);\n return;\n }\n this.emit(this.ERROR, errors.MaxAttemptsReachedOnReconnectingError());\n this.reconnecting = false;\n if (this.requestQueue.size > 0) {\n this.requestQueue.forEach(function (request, key) {\n request.callback(errors.MaxAttemptsReachedOnReconnectingError());\n _this.requestQueue.delete(key);\n });\n }\n};\nmodule.exports = WebsocketProvider;\n","var isNode = Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\nvar isRN = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';\nvar _btoa = null;\nvar helpers = null;\nif (isNode || isRN) {\n _btoa = function (str) {\n return Buffer.from(str).toString('base64');\n };\n var url = require('url');\n if (url.URL) {\n // Use the new Node 6+ API for parsing URLs that supports username/password\n var newURL = url.URL;\n helpers = function (url) {\n return new newURL(url);\n };\n }\n else {\n // Web3 supports Node.js 5, so fall back to the legacy URL API if necessary\n helpers = require('url').parse;\n }\n}\nelse {\n _btoa = btoa.bind(window);\n helpers = function (url) {\n return new URL(url);\n };\n}\nmodule.exports = {\n parseURL: helpers,\n btoa: _btoa\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","module.exports = require('../package.json').version;\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n*/\n/** @file httpprovider.js\n * @authors:\n * Marek Kotewicz \n * Marian Oancea\n * Fabian Vogelsteller \n * @date 2015\n */\nvar errors = require('web3-core-helpers').errors;\nvar XHR2 = require('xhr2-cookies').XMLHttpRequest; // jshint ignore: line\nvar http = require('http');\nvar https = require('https');\n/**\n * HttpProvider should be used to send rpc calls over http\n */\nvar HttpProvider = function HttpProvider(host, options) {\n options = options || {};\n this.withCredentials = options.withCredentials || false;\n this.timeout = options.timeout || 0;\n this.headers = options.headers;\n this.agent = options.agent;\n this.connected = false;\n // keepAlive is true unless explicitly set to false\n const keepAlive = options.keepAlive !== false;\n this.host = host || 'http://localhost:8545';\n if (!this.agent) {\n if (this.host.substring(0, 5) === \"https\") {\n this.httpsAgent = new https.Agent({ keepAlive });\n }\n else {\n this.httpAgent = new http.Agent({ keepAlive });\n }\n }\n};\nHttpProvider.prototype._prepareRequest = function () {\n var request;\n // the current runtime is a browser\n if (typeof XMLHttpRequest !== 'undefined') {\n request = new XMLHttpRequest();\n }\n else {\n request = new XHR2();\n var agents = { httpsAgent: this.httpsAgent, httpAgent: this.httpAgent, baseUrl: this.baseUrl };\n if (this.agent) {\n agents.httpsAgent = this.agent.https;\n agents.httpAgent = this.agent.http;\n agents.baseUrl = this.agent.baseUrl;\n }\n request.nodejsSet(agents);\n }\n request.open('POST', this.host, true);\n request.setRequestHeader('Content-Type', 'application/json');\n request.timeout = this.timeout;\n request.withCredentials = this.withCredentials;\n if (this.headers) {\n this.headers.forEach(function (header) {\n request.setRequestHeader(header.name, header.value);\n });\n }\n return request;\n};\n/**\n * Should be used to make async request\n *\n * @method send\n * @param {Object} payload\n * @param {Function} callback triggered on end with (err, result)\n */\nHttpProvider.prototype.send = function (payload, callback) {\n var _this = this;\n var request = this._prepareRequest();\n request.onreadystatechange = function () {\n if (request.readyState === 4 && request.timeout !== 1) {\n var result = request.responseText;\n var error = null;\n try {\n result = JSON.parse(result);\n }\n catch (e) {\n error = errors.InvalidResponse(request.responseText);\n }\n _this.connected = true;\n callback(error, result);\n }\n };\n request.ontimeout = function () {\n _this.connected = false;\n callback(errors.ConnectionTimeout(this.timeout));\n };\n try {\n request.send(JSON.stringify(payload));\n }\n catch (error) {\n this.connected = false;\n callback(errors.InvalidConnection(this.host));\n }\n};\nHttpProvider.prototype.disconnect = function () {\n //NO OP\n};\n/**\n * Returns the desired boolean.\n *\n * @method supportsSubscriptions\n * @returns {boolean}\n */\nHttpProvider.prototype.supportsSubscriptions = function () {\n return false;\n};\nmodule.exports = HttpProvider;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./xml-http-request\"));\nvar xml_http_request_event_target_1 = require(\"./xml-http-request-event-target\");\nexports.XMLHttpRequestEventTarget = xml_http_request_event_target_1.XMLHttpRequestEventTarget;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar os = require(\"os\");\nvar url = require(\"url\");\nvar progress_event_1 = require(\"./progress-event\");\nvar errors_1 = require(\"./errors\");\nvar xml_http_request_event_target_1 = require(\"./xml-http-request-event-target\");\nvar xml_http_request_upload_1 = require(\"./xml-http-request-upload\");\nvar Cookie = require(\"cookiejar\");\nvar XMLHttpRequest = /** @class */ (function (_super) {\n __extends(XMLHttpRequest, _super);\n function XMLHttpRequest(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this) || this;\n _this.UNSENT = XMLHttpRequest.UNSENT;\n _this.OPENED = XMLHttpRequest.OPENED;\n _this.HEADERS_RECEIVED = XMLHttpRequest.HEADERS_RECEIVED;\n _this.LOADING = XMLHttpRequest.LOADING;\n _this.DONE = XMLHttpRequest.DONE;\n _this.onreadystatechange = null;\n _this.readyState = XMLHttpRequest.UNSENT;\n _this.response = null;\n _this.responseText = '';\n _this.responseType = '';\n _this.status = 0; // TODO: UNSENT?\n _this.statusText = '';\n _this.timeout = 0;\n _this.upload = new xml_http_request_upload_1.XMLHttpRequestUpload();\n _this.responseUrl = '';\n _this.withCredentials = false;\n _this._method = null;\n _this._url = null;\n _this._sync = false;\n _this._headers = {};\n _this._loweredHeaders = {};\n _this._mimeOverride = null; // TODO: is type right?\n _this._request = null;\n _this._response = null;\n _this._responseParts = null;\n _this._responseHeaders = null;\n _this._aborting = null; // TODO: type?\n _this._error = null; // TODO: type?\n _this._loadedBytes = 0;\n _this._totalBytes = 0;\n _this._lengthComputable = false;\n _this._restrictedMethods = { CONNECT: true, TRACE: true, TRACK: true };\n _this._restrictedHeaders = {\n 'accept-charset': true,\n 'accept-encoding': true,\n 'access-control-request-headers': true,\n 'access-control-request-method': true,\n connection: true,\n 'content-length': true,\n cookie: true,\n cookie2: true,\n date: true,\n dnt: true,\n expect: true,\n host: true,\n 'keep-alive': true,\n origin: true,\n referer: true,\n te: true,\n trailer: true,\n 'transfer-encoding': true,\n upgrade: true,\n 'user-agent': true,\n via: true\n };\n _this._privateHeaders = { 'set-cookie': true, 'set-cookie2': true };\n _this._userAgent = \"Mozilla/5.0 (\" + os.type() + \" \" + os.arch() + \") node.js/\" + process.versions.node + \" v8/\" + process.versions.v8;\n _this._anonymous = options.anon || false;\n return _this;\n }\n XMLHttpRequest.prototype.open = function (method, url, async, user, password) {\n if (async === void 0) { async = true; }\n method = method.toUpperCase();\n if (this._restrictedMethods[method]) {\n throw new XMLHttpRequest.SecurityError(\"HTTP method \" + method + \" is not allowed in XHR\");\n }\n ;\n var xhrUrl = this._parseUrl(url, user, password);\n if (this.readyState === XMLHttpRequest.HEADERS_RECEIVED || this.readyState === XMLHttpRequest.LOADING) {\n // TODO(pwnall): terminate abort(), terminate send()\n }\n this._method = method;\n this._url = xhrUrl;\n this._sync = !async;\n this._headers = {};\n this._loweredHeaders = {};\n this._mimeOverride = null;\n this._setReadyState(XMLHttpRequest.OPENED);\n this._request = null;\n this._response = null;\n this.status = 0;\n this.statusText = '';\n this._responseParts = [];\n this._responseHeaders = null;\n this._loadedBytes = 0;\n this._totalBytes = 0;\n this._lengthComputable = false;\n };\n XMLHttpRequest.prototype.setRequestHeader = function (name, value) {\n if (this.readyState !== XMLHttpRequest.OPENED) {\n throw new XMLHttpRequest.InvalidStateError('XHR readyState must be OPENED');\n }\n var loweredName = name.toLowerCase();\n if (this._restrictedHeaders[loweredName] || /^sec-/.test(loweredName) || /^proxy-/.test(loweredName)) {\n console.warn(\"Refused to set unsafe header \\\"\" + name + \"\\\"\");\n return;\n }\n value = value.toString();\n if (this._loweredHeaders[loweredName] != null) {\n name = this._loweredHeaders[loweredName];\n this._headers[name] = this._headers[name] + \", \" + value;\n }\n else {\n this._loweredHeaders[loweredName] = name;\n this._headers[name] = value;\n }\n };\n XMLHttpRequest.prototype.send = function (data) {\n if (this.readyState !== XMLHttpRequest.OPENED) {\n throw new XMLHttpRequest.InvalidStateError('XHR readyState must be OPENED');\n }\n if (this._request) {\n throw new XMLHttpRequest.InvalidStateError('send() already called');\n }\n switch (this._url.protocol) {\n case 'file:':\n return this._sendFile(data);\n case 'http:':\n case 'https:':\n return this._sendHttp(data);\n default:\n throw new XMLHttpRequest.NetworkError(\"Unsupported protocol \" + this._url.protocol);\n }\n };\n XMLHttpRequest.prototype.abort = function () {\n if (this._request == null) {\n return;\n }\n this._request.abort();\n this._setError();\n this._dispatchProgress('abort');\n this._dispatchProgress('loadend');\n };\n XMLHttpRequest.prototype.getResponseHeader = function (name) {\n if (this._responseHeaders == null || name == null) {\n return null;\n }\n var loweredName = name.toLowerCase();\n return this._responseHeaders.hasOwnProperty(loweredName)\n ? this._responseHeaders[name.toLowerCase()]\n : null;\n };\n XMLHttpRequest.prototype.getAllResponseHeaders = function () {\n var _this = this;\n if (this._responseHeaders == null) {\n return '';\n }\n return Object.keys(this._responseHeaders).map(function (key) { return key + \": \" + _this._responseHeaders[key]; }).join('\\r\\n');\n };\n XMLHttpRequest.prototype.overrideMimeType = function (mimeType) {\n if (this.readyState === XMLHttpRequest.LOADING || this.readyState === XMLHttpRequest.DONE) {\n throw new XMLHttpRequest.InvalidStateError('overrideMimeType() not allowed in LOADING or DONE');\n }\n this._mimeOverride = mimeType.toLowerCase();\n };\n XMLHttpRequest.prototype.nodejsSet = function (options) {\n this.nodejsHttpAgent = options.httpAgent || this.nodejsHttpAgent;\n this.nodejsHttpsAgent = options.httpsAgent || this.nodejsHttpsAgent;\n if (options.hasOwnProperty('baseUrl')) {\n if (options.baseUrl != null) {\n var parsedUrl = url.parse(options.baseUrl, false, true);\n if (!parsedUrl.protocol) {\n throw new XMLHttpRequest.SyntaxError(\"baseUrl must be an absolute URL\");\n }\n }\n this.nodejsBaseUrl = options.baseUrl;\n }\n };\n XMLHttpRequest.nodejsSet = function (options) {\n XMLHttpRequest.prototype.nodejsSet(options);\n };\n XMLHttpRequest.prototype._setReadyState = function (readyState) {\n this.readyState = readyState;\n this.dispatchEvent(new progress_event_1.ProgressEvent('readystatechange'));\n };\n XMLHttpRequest.prototype._sendFile = function (data) {\n // TODO\n throw new Error('Protocol file: not implemented');\n };\n XMLHttpRequest.prototype._sendHttp = function (data) {\n if (this._sync) {\n throw new Error('Synchronous XHR processing not implemented');\n }\n if (data && (this._method === 'GET' || this._method === 'HEAD')) {\n console.warn(\"Discarding entity body for \" + this._method + \" requests\");\n data = null;\n }\n else {\n data = data || '';\n }\n this.upload._setData(data);\n this._finalizeHeaders();\n this._sendHxxpRequest();\n };\n XMLHttpRequest.prototype._sendHxxpRequest = function () {\n var _this = this;\n if (this.withCredentials) {\n var cookie = XMLHttpRequest.cookieJar\n .getCookies(Cookie.CookieAccessInfo(this._url.hostname, this._url.pathname, this._url.protocol === 'https:')).toValueString();\n this._headers.cookie = this._headers.cookie2 = cookie;\n }\n var _a = this._url.protocol === 'http:' ? [http, this.nodejsHttpAgent] : [https, this.nodejsHttpsAgent], hxxp = _a[0], agent = _a[1];\n var requestMethod = hxxp.request.bind(hxxp);\n var request = requestMethod({\n hostname: this._url.hostname,\n port: +this._url.port,\n path: this._url.path,\n auth: this._url.auth,\n method: this._method,\n headers: this._headers,\n agent: agent\n });\n this._request = request;\n if (this.timeout) {\n request.setTimeout(this.timeout, function () { return _this._onHttpTimeout(request); });\n }\n request.on('response', function (response) { return _this._onHttpResponse(request, response); });\n request.on('error', function (error) { return _this._onHttpRequestError(request, error); });\n this.upload._startUpload(request);\n if (this._request === request) {\n this._dispatchProgress('loadstart');\n }\n };\n XMLHttpRequest.prototype._finalizeHeaders = function () {\n this._headers = __assign({}, this._headers, { Connection: 'keep-alive', Host: this._url.host, 'User-Agent': this._userAgent }, this._anonymous ? { Referer: 'about:blank' } : {});\n this.upload._finalizeHeaders(this._headers, this._loweredHeaders);\n };\n XMLHttpRequest.prototype._onHttpResponse = function (request, response) {\n var _this = this;\n if (this._request !== request) {\n return;\n }\n if (this.withCredentials && (response.headers['set-cookie'] || response.headers['set-cookie2'])) {\n XMLHttpRequest.cookieJar\n .setCookies(response.headers['set-cookie'] || response.headers['set-cookie2']);\n }\n if ([301, 302, 303, 307, 308].indexOf(response.statusCode) >= 0) {\n this._url = this._parseUrl(response.headers.location);\n this._method = 'GET';\n if (this._loweredHeaders['content-type']) {\n delete this._headers[this._loweredHeaders['content-type']];\n delete this._loweredHeaders['content-type'];\n }\n if (this._headers['Content-Type'] != null) {\n delete this._headers['Content-Type'];\n }\n delete this._headers['Content-Length'];\n this.upload._reset();\n this._finalizeHeaders();\n this._sendHxxpRequest();\n return;\n }\n this._response = response;\n this._response.on('data', function (data) { return _this._onHttpResponseData(response, data); });\n this._response.on('end', function () { return _this._onHttpResponseEnd(response); });\n this._response.on('close', function () { return _this._onHttpResponseClose(response); });\n this.responseUrl = this._url.href.split('#')[0];\n this.status = response.statusCode;\n this.statusText = http.STATUS_CODES[this.status];\n this._parseResponseHeaders(response);\n var lengthString = this._responseHeaders['content-length'] || '';\n this._totalBytes = +lengthString;\n this._lengthComputable = !!lengthString;\n this._setReadyState(XMLHttpRequest.HEADERS_RECEIVED);\n };\n XMLHttpRequest.prototype._onHttpResponseData = function (response, data) {\n if (this._response !== response) {\n return;\n }\n this._responseParts.push(new Buffer(data));\n this._loadedBytes += data.length;\n if (this.readyState !== XMLHttpRequest.LOADING) {\n this._setReadyState(XMLHttpRequest.LOADING);\n }\n this._dispatchProgress('progress');\n };\n XMLHttpRequest.prototype._onHttpResponseEnd = function (response) {\n if (this._response !== response) {\n return;\n }\n this._parseResponse();\n this._request = null;\n this._response = null;\n this._setReadyState(XMLHttpRequest.DONE);\n this._dispatchProgress('load');\n this._dispatchProgress('loadend');\n };\n XMLHttpRequest.prototype._onHttpResponseClose = function (response) {\n if (this._response !== response) {\n return;\n }\n var request = this._request;\n this._setError();\n request.abort();\n this._setReadyState(XMLHttpRequest.DONE);\n this._dispatchProgress('error');\n this._dispatchProgress('loadend');\n };\n XMLHttpRequest.prototype._onHttpTimeout = function (request) {\n if (this._request !== request) {\n return;\n }\n this._setError();\n request.abort();\n this._setReadyState(XMLHttpRequest.DONE);\n this._dispatchProgress('timeout');\n this._dispatchProgress('loadend');\n };\n XMLHttpRequest.prototype._onHttpRequestError = function (request, error) {\n if (this._request !== request) {\n return;\n }\n this._setError();\n request.abort();\n this._setReadyState(XMLHttpRequest.DONE);\n this._dispatchProgress('error');\n this._dispatchProgress('loadend');\n };\n XMLHttpRequest.prototype._dispatchProgress = function (eventType) {\n var event = new XMLHttpRequest.ProgressEvent(eventType);\n event.lengthComputable = this._lengthComputable;\n event.loaded = this._loadedBytes;\n event.total = this._totalBytes;\n this.dispatchEvent(event);\n };\n XMLHttpRequest.prototype._setError = function () {\n this._request = null;\n this._response = null;\n this._responseHeaders = null;\n this._responseParts = null;\n };\n XMLHttpRequest.prototype._parseUrl = function (urlString, user, password) {\n var absoluteUrl = this.nodejsBaseUrl == null ? urlString : url.resolve(this.nodejsBaseUrl, urlString);\n var xhrUrl = url.parse(absoluteUrl, false, true);\n xhrUrl.hash = null;\n var _a = (xhrUrl.auth || '').split(':'), xhrUser = _a[0], xhrPassword = _a[1];\n if (xhrUser || xhrPassword || user || password) {\n xhrUrl.auth = (user || xhrUser || '') + \":\" + (password || xhrPassword || '');\n }\n return xhrUrl;\n };\n XMLHttpRequest.prototype._parseResponseHeaders = function (response) {\n this._responseHeaders = {};\n for (var name_1 in response.headers) {\n var loweredName = name_1.toLowerCase();\n if (this._privateHeaders[loweredName]) {\n continue;\n }\n this._responseHeaders[loweredName] = response.headers[name_1];\n }\n if (this._mimeOverride != null) {\n this._responseHeaders['content-type'] = this._mimeOverride;\n }\n };\n XMLHttpRequest.prototype._parseResponse = function () {\n var buffer = Buffer.concat(this._responseParts);\n this._responseParts = null;\n switch (this.responseType) {\n case 'json':\n this.responseText = null;\n try {\n this.response = JSON.parse(buffer.toString('utf-8'));\n }\n catch (_a) {\n this.response = null;\n }\n return;\n case 'buffer':\n this.responseText = null;\n this.response = buffer;\n return;\n case 'arraybuffer':\n this.responseText = null;\n var arrayBuffer = new ArrayBuffer(buffer.length);\n var view = new Uint8Array(arrayBuffer);\n for (var i = 0; i < buffer.length; i++) {\n view[i] = buffer[i];\n }\n this.response = arrayBuffer;\n return;\n case 'text':\n default:\n try {\n this.responseText = buffer.toString(this._parseResponseEncoding());\n }\n catch (_b) {\n this.responseText = buffer.toString('binary');\n }\n this.response = this.responseText;\n }\n };\n XMLHttpRequest.prototype._parseResponseEncoding = function () {\n return /;\\s*charset=(.*)$/.exec(this._responseHeaders['content-type'] || '')[1] || 'utf-8';\n };\n XMLHttpRequest.ProgressEvent = progress_event_1.ProgressEvent;\n XMLHttpRequest.InvalidStateError = errors_1.InvalidStateError;\n XMLHttpRequest.NetworkError = errors_1.NetworkError;\n XMLHttpRequest.SecurityError = errors_1.SecurityError;\n XMLHttpRequest.SyntaxError = errors_1.SyntaxError;\n XMLHttpRequest.XMLHttpRequestUpload = xml_http_request_upload_1.XMLHttpRequestUpload;\n XMLHttpRequest.UNSENT = 0;\n XMLHttpRequest.OPENED = 1;\n XMLHttpRequest.HEADERS_RECEIVED = 2;\n XMLHttpRequest.LOADING = 3;\n XMLHttpRequest.DONE = 4;\n XMLHttpRequest.cookieJar = Cookie.CookieJar();\n return XMLHttpRequest;\n}(xml_http_request_event_target_1.XMLHttpRequestEventTarget));\nexports.XMLHttpRequest = XMLHttpRequest;\nXMLHttpRequest.prototype.nodejsHttpAgent = http.globalAgent;\nXMLHttpRequest.prototype.nodejsHttpsAgent = https.globalAgent;\nXMLHttpRequest.prototype.nodejsBaseUrl = null;\n//# sourceMappingURL=xml-http-request.js.map","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\nvar toArrayBuffer = require('to-arraybuffer')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else if (capability.vbArray && preferBinary) {\n\t\treturn 'text:vbarray'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + new Buffer(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n\t\tif (capability.arraybuffer) {\n\t\t\tbody = toArrayBuffer(Buffer.concat(self._body))\n\t\t} else if (capability.blobConstructor) {\n\t\t\tbody = new global.Blob(self._body.map(function (buffer) {\n\t\t\t\treturn toArrayBuffer(buffer)\n\t\t\t}), {\n\t\t\t\ttype: (headersObj['content-type'] || {}).value || ''\n\t\t\t})\n\t\t} else {\n\t\t\t// get utf8 string\n\t\t\tbody = Buffer.concat(self._body).toString()\n\t\t}\n\t}\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tvar fetchTimer = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tglobal.clearTimeout(self._fetchTimer)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode.split(':')[0]\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress()\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._fetchTimer)\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function () {\n\tvar self = this\n\tself._destroyed = true\n\tglobal.clearTimeout(self._fetchTimer)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setTimeout = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a